Selenium通过列表循环并使用Java对每个元素进行相同的操作

时间:2018-12-06 12:35:49

标签: java loops selenium for-loop

我已经看到了许多有关如何实现循环的信息,但是我仍然找不到能解决我的问题的任何东西。 测试过程:

  1. 单击用户名(这是一个链接)
  2. 取消选中第一个组名的复选框
  3. 选中下一个组名的复选框
  4. 单击“保存”按钮(之后,系统将自动将您重定向到包含用户列表和已分配组的页面)
  5. 检查是否已看到与分配的组相同的名称
  6. 重复

我编写了一个测试,该测试以可重复的逐步形式完成所有这些步骤,但是最好将其变成一个循环,并在遇到问题的地方进行。现在,我的代码如下:

driver.findElement(By.linkText("testUser")).click();
WebElement parent = driver.findElement(By.xpath("/html/body/app-root/app-admin-edit-user-profile/main/div[2]/div/form/section[2]/div[2]"));  
List<WebElement> children = parent.findElements(By.className("custom-checkbox"));    
for(int i = 0; i < children.size(); i++) {
    children.get(i).click();
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    avp.getSaveBtn().click();
    driver.findElement(By.linkText("testUser")).click();
}

然后单击用户名,单击第一个组,再次单击它,然后单击“保存”按钮,然后停止。因此,基本上,它对一组执行一个动作并停止。有人可以帮忙吗?

0 个答案:

没有答案