断言List <webelement>中的元素包含一些文本

时间:2017-11-15 14:34:46

标签: java selenium-webdriver automated-tests assert assertions

我不确定如何断言我有每个webelement有文本inside的webelements列表,并且我想验证在这个webelements列表中是否存在一些文本。

我不确定在这种情况下应该如何看待断言。

2 个答案:

答案 0 :(得分:1)

简单获取流,映射到字符串(文本)并检查是否有匹配:

boolean anyMatch = webelements.stream()
  .map(WebElement::getText)
  .anyMatch(text -> "inside".equals(text));

为安全过滤掉null&trim;

boolean anyMatch = webelements.stream()
  .map(WebElement::getText)
  .filter(Objects::nonNull)
  .map(String::trim)
  .anyMatch(text -> "inside".equals(text));

答案 1 :(得分:0)

您可以这样做:

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));     

}