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

问题描述 投票:0回答:3

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

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

listview selenium-webdriver record listviewitem
3个回答
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");
        }
}

如果这不是您要找的,请发布一些代码,我会对其进行审核。

问候


0
投票

这可以使用xpath完成。

我假设你的listview是建立类似于一个表,所以你可以采取这个并根据你的需要修改它,但它应该给你一个良好的开端。

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

比如说,您正在第3列中查找文本'ken4ward':

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

我正在做“列# - 1”,因为xpath索引是基于0的,一般来说,我们不计算以0开头的列。


0
投票

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

.getText()

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

© www.soinside.com 2019 - 2024. All rights reserved.