我已经实现了这个方法:
@FindBy(partialLinkText = "Avocode")
List<WebElement> results;
public List<String> getSearchResults (){
List<String> text = results.stream().map(WebElement::getText).collect(Collectors.toList());
return text;
}
然后我有一个测试试图找到与“avocode”的任何匹配:
assertThat(find.getSearchResults(),IsCollectionContaining.hasItem("Avocode"));
我导入的库:
import org.hamcrest.core.IsCollectionContaining;
import org.testng.Assert;
import org.testng.annotations.Test;
import pageObjects.Search;
import static org.junit.Assert.assertThat;
++ 我的依赖项:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
我希望测试能够成功运行,尽管我得到:
java.lang.AssertionError:
预期:包含“Avocode”的集合但是:是“Avocode \”ready to eat\“DUO pack”,是“Avocode Hass”,是“Avocode Fuerte”,是“Avocode Bacon”
我相信我已经遵循堆栈溢出中的所有提示,但没有任何效果 - Avocode 在那里,所以它应该通过......
我将不胜感激(我是编程新手)。
谢谢,丽佳娜