有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Selenium Webdriver:基于多行值查找复选框

我浏览了这个网站,但找不到解决问题的方法,我想知道在硒方面有更多经验的人能否帮我。 很抱歉发了这么长的帖子,但我想确保我正确地解释了事情

我正在使用Java。我通常使用Rational Function Tester(Java),但我试图看看是否可以重写一些测试中的代码,看看转换有多容易

我有一个11列4行的表(但它可能是20或50行,在测试期间会波动)。 我可以阅读表格及其内容,找到我想要的行。我比较前10个单元格的每个值,如果它们都匹配,我想点击第11列中的复选框。否则,继续下一行

该函数可以正确地从每个单元格中检索值。但是,当我尝试单击复选框时,它总是选择第一行的复选框。 当我选中属性时,我可以看到所有复选框都有相同的“名称”,但值不同(例如1330361、1330363、1330359等)。 有趣的是,如果我搜索该行中的所有复选框,它会报告其中的4个(在整个表中找到的数字,而不是在该行中)

我可能犯了一个非常基本的错误,但我不知道是什么

我使用以下代码在表中搜索。函数接收表格行,此时,我只是报告单元格值,然后尝试单击该行中的复选框。这是一种调试功能。 我不确定发布大量代码是否合适,所以我将只放一个简短的版本,尝试单击表中的每个复选框

// Passing a specific table row to the function:
List<WebElement> columns=myRow.findElements(By.tagName("td"));
for (int iLoop = 0;iLoop < columns.size();iLoop++)
{
     System.out.println("Column " + iLoop + " : '" + columns.get(iLoop).getText().toString() + "'");
     // code to compare actual and expected values and setting of a boolean variable.

     if (iLoop == 10 && recordMatch)
     {
          tCheckbox = myRow.findElement(By.xpath("//input[@type='checkbox']"));
         System.out.println("Value is :" + tCheckbox.getAttribute("value").toString());
          tCheckbox.click();
     }

共 (0) 个答案