使用Selenium webdriver断言listview中存在的值

使用Selenium webdriver断言listview中存在的值,listview,selenium-webdriver,record,listviewitem,Listview,Selenium Webdriver,Record,Listviewitem,我正在处理一个表单,需要验证listview中是否存在新记录。这个列表视图包含200多条记录,所以我必须搜索一个特定的值并断言它存在 问题是我以前没有使用过Listview,在列下断言值似乎很笨拙。如果有人能就如何使用listview提供好的建议,我将不胜感激。鉴于以下HTML,您可以尝试以下方法: <ul> <li>Item1</li> <li>Item2</li> <li>It

我正在处理一个表单,需要验证listview中是否存在新记录。这个列表视图包含200多条记录,所以我必须搜索一个特定的值并断言它存在


问题是我以前没有使用过Listview,在列下断言值似乎很笨拙。如果有人能就如何使用listview提供好的建议,我将不胜感激。

鉴于以下HTML,您可以尝试以下方法:

    <ul>
      <li>Item1</li>
      <li>Item2</li>
      <li>Item3</li>
    </ul>

String lookingFor = "Item2";
List<WebElement> allElements = driver.findElements(By.tagName("li"));
for(WebElement ele: allElements ) {
        if(ele.getText().trim().equalsIgnoreCase(lookingFor)) {
           System.out.println("Got it");
        }
}
  • 项目1
  • 项目2
  • 项目3
字符串lookingFor=“Item2”; 列表等位基因=driver.findElements(按.tagName(“li”)); for(WebElement元素:等位基因){ if(ele.getText().trim().equalsIgnoreCase(查找)){ System.out.println(“明白了”); } }
如果这不是你正在寻找的,请张贴一些代码,我会审查它


这可以使用xpath来完成

我假设您的listview类似于一个表,所以您可以使用它并根据需要修改它,但它应该给您一个良好的开端

driver.findElement(By.xpath("//table//tr//td[<column #> - 1][contains(., '<text here>')]"));

< P> >我正在做“列α- 1”,因为XPath索引是基于0的,并且一般来说,我们不从0开始计数列。

< P>您应该考虑使用HAMCSTREST语句<代码> AdvestTo(Sele.FunEngEnter(LoopaToListVIEW)).GETTHORTER(), 是(相等(你想找到的特殊项目))


将存储列表视图的所有值,其余部分自行解释

谢谢。我的项目正在测试一个动态值。这可以针对静态值进行测试。我想要的是,它应该在Listview中的特定列下搜索值(text),例如“ken4ward”,并断言它存在。如果在所有Listview元素上循环,速度会非常慢。请不要这样做,当它可以用一个选择器完成。
driver.findElement(By.xpath("//table//tr//td[2][contains(., 'ken4ward')]"));
.getText()