例如,如果我要测试Google搜索,页面对象模型返回新的Google搜索页面对象有什么好处?
E.g。
public class SearchPage {
private final WebDriver driver;
public SearchPage(WebDriver driver) {
this.driver = driver;
}
public SearchPage search(String query) {
WebElement e = driver.findElement(By.name("q")).sendKeys(query);
e.submit();
return new SearchPage(driver);
}
}
VS
public class SearchPage {
private final WebDriver driver;
public SearchPage(WebDriver driver) {
this.driver = driver;
}
public void search(String query) {
WebElement e = driver.findElement(By.name("q")).sendKeys(query);
e.submit();
}
}
感谢您的帮助!
答案 0 :(得分:2)
我想到的一件事是从SearchPage类中链接方法。当你想让一些负责运行测试的更高级别的类时,你可以使用这样的:
String actualText = searchPage.search("q").openFirstResult().selectItemFromCombo().checkName().getNameText()
等。等
这使得阅读代码变得非常简单,看起来几乎就像一个句子,对于其他人来说这是可以理解的。