断言使用Selenium webdriver在listview中存在一个值

时间:2015-06-03 12:39:47

标签: listview selenium-webdriver record listviewitem

我正在处理一个表单,我需要验证列表视图中是否存在新记录。此列表视图包含200多条记录,因此我必须搜索特定值并声明它存在。

问题在于我之前没有使用Listview,并且在列下显示一个值似乎很笨拙。如果有人能就如何使用列表视图提供好的建议,我将不胜感激。

3 个答案:

答案 0 :(得分:0)

鉴于以下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 :(得分:0)

这可以使用xpath完成。

我假设您的列表视图的构建类似于表格,因此您可以根据需要对其进行修改并进行修改,但它应该会给您一个良好的开端。

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

说,您正在第3栏中查看文字&#39; ken4ward&#39;:

driver.findElement(By.xpath("//table//tr//td[2][contains(., 'ken4ward')]"));

我正在做&#34;专栏# - 1&#34;因为xpath索引是基于0的,一般来说,我们不会计算以0开头的列。

答案 2 :(得分:0)

您应该考虑使用Hamcrest断言assertThat(selenium.findElement(LocatorOfListView)).getText(), is(equalTo(ParticularItemYouWantToFind)));

.getText()

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