gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:41:30 25 4
gpt4 key购买 nike

下面是我尝试自动化的场景:将链接的所有数值放入 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com