0

例如,如果我要测试 Google 搜索,页面对象模型返回新的 Google 搜索页面对象有什么好处?

例如

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

对比

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

谢谢您的帮助!

4

1 回答 1

2

我想到的一件事是链接 SearchPage 类的方法。当您可以说一些负责运行测试的更高级别的类时,您可以这样使用:

String actualText = searchPage.search("q").openFirstResult().selectItemFromCombo().checkName().getNameText() 

等等等等

这使得阅读您的代码变得非常容易,看起来几乎像一个句子,并且对于其他人来说是可以理解的。

于 2012-08-29T06:21:15.607 回答