2012-08-29 43 views
0

例如,如果我要測試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(); 
    } 
} 

感謝您的幫助!

回答

2

我想到的一件事是鏈接SearchPage類的方法。當你將不得不讓我們說一些更高層次的類,它負責運行測試,你可以使用某事像這樣:

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

等等,等等

,這使得讀取你的代碼非常簡單,看上去很像一句話,對其他人來說是可以理解的。

+0

你可以爭論這樣的鏈接(或「流利」)電話是好還是壞的想法,但是,這正是爲什麼這是正常的。 –