我试图使用Junit和Selenium WebDriver来查找拼写错误的单词,从单词库,在一个网站上。我也在使用Hamcrest,它现在包含在Junit中。
@Test
public void filter() throws Exception {
driver.get("http://www.ExampleWebsite.org/selenium-filter-test/");
WebElement body = driver.findElement(By.xpath("//*"));
String content = body.getText();
assertThat(content, anyOf (
equalTo("foo"),
equalTo("Charoit"),
equalTo("Micha")));
}
问题是我在比较页面上的内容和测试中的三个单词时遇到了问题。我认为指定的字符串"内容"是比较页面上的所有文本作为一个整体字符串。我需要它来查找这些单词是否包含在"content"中。
我的方法是正确的吗?或者你能推荐一些更好的吗?
谢谢。米迦
最简单的方法是使用String.contains()方法。例如:
boolean success
= content.contains("foo")
|| content.contains("Charoit")
|| content.contains("Micha");
Assert.assertEquals
("content contains 'foo', 'Charoit', or 'Micha'", true, success);
我建议您使用guava Splitter类。你可以在这里找到一些例子。
字符串被分割,使用for来检查你想要的每个值