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

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

助けてくれてありがとう!

4

1 に答える 1

2

私の頭に浮かぶことの 1 つは、SearchPage クラスからメソッドをチェーンすることです。テストの実行を担当する上位レベルのクラスを言う場合は、次のように sth を使用できます。

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

などなど

これにより、コードが非常に読みやすくなり、ほとんど文章のように見え、他の人にも理解できるようになります。

于 2012-08-29T06:21:15.607 に答える