【发布时间】:2018-04-28 20:07:36
【问题描述】:
我不确定如何断言我有一个 webelements 列表,其中每个 webelements 都有文本 inside,并且我想验证这个 webelements 列表中是否存在一些文本。
我不确定在这种情况下这应该是什么样的断言。
【问题讨论】:
标签: java selenium-webdriver automated-tests assert assertion
我不确定如何断言我有一个 webelements 列表,其中每个 webelements 都有文本 inside,并且我想验证这个 webelements 列表中是否存在一些文本。
我不确定在这种情况下这应该是什么样的断言。
【问题讨论】:
标签: java selenium-webdriver automated-tests assert assertion
简单的获取流,映射到字符串(文本)并检查是否有匹配:
boolean anyMatch = webelements.stream()
.map(WebElement::getText)
.anyMatch(text -> "inside".equals(text));
为了安全起见,过滤掉空值并修剪:
boolean anyMatch = webelements.stream()
.map(WebElement::getText)
.filter(Objects::nonNull)
.map(String::trim)
.anyMatch(text -> "inside".equals(text));
【讨论】:
你可以这样做:
public boolean isElementsContainsProvidedText(String text){
List<WebElement> elements = driver.findElements(By.xpath("your_xpath_for_list"));
return elements.stream().anyMatch(e->e.gettext().trim().equals(text));
}
【讨论】: