java - for 循环外部变量的动态添加和使用 - Selenium

标签 java loops selenium automation

下面是我尝试自动化的场景: 将链接的所有数值放入 Selenium Weblist 中并执行加法,然后验证计数总和是否与固定数字匹配。

问题是数字链接返回一个用大括号括起来的数字示例:(20)(35)(16)(15)

我需要首先修剪这些括号并仅获取数字,然后执行加法,即:20+35+16+15

稍后我需要根据数字断言总数,即:Assert.assertequals(sum,'86')

 List<WebElement> lists=driver.findElements(By.cssSelector("span.ndocs"));
        for (int i=0; i<lists.size(); ){

            String trimmed_value=lists.get(i).getText();
            trimmed_value=lists.get(i).getText().trim().substring(trimmed_value.indexOf("(") + 1);
            trimmed_value=lists.get(i).getText().trim().substring(0, trimmed_value.indexOf(")"));
            System.out.println(trimmed_value);
            int numerical_value = Integer.parseInt(trimmed_value);
            i++;
        }

到目前为止,我能够获取元素,迭代它们并能够删除大括号并获取数字,我坚持如何执行加法操作然后对计数进行断言。 任何帮助将不胜感激。

最佳答案

尝试使用下面的代码。

在方法外部初始化一个变量,并向其中添加每个 trimmed_value,如下所述。

导入assertEquals(导入静态org.junit.Assert.assertEquals;)

int expected_value=86;
int numerical_value=0;
List<WebElement> lists = driver.findElements(By.cssSelector("span.ndocs"));

  for (int i = 0; i < lists.size(); ) {
            String trimmed_value = lists.get(i).getText();
            trimmed_value = lists.get(i).getText().trim().substring(trimmed_value.indexOf("(") + 1);
            trimmed_value = lists.get(i).getText().trim().substring(0, trimmed_value.indexOf(")"));
            System.out.println(trimmed_value);
            numerical_value =numerical_value+Integer.parseInt(trimmed_value);
            i++;
        }
assertEquals(expected_value, numerical_value);

关于java - for 循环外部变量的动态添加和使用 - Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42717756/

相关文章:

java - Collectors.toMap 在与未用作值的对象不同的属性上编写合并函数

java - 直接绘制到面板中的 JButton 不显示带有 WindowsLookAndFeel 的背景

jquery - 在 Jquery 的 .each() 函数中返回值时它将如何工作?

selenium - 使用 ID 使用 Codeception 切换 IFrame

java - 如果有两个测试,Android Test Orchestrator 将运行 BeforeClass 两次

java - 访问继承的类成员时出错

java - Selenium CSS 选择器

jquery - 当文件输入隐藏时如何使用 Selenium 上传文件?

使用二进制 'switch' 进行迭代和/或枚举的 Pythonic 方法

r - 如何停止随机游走