2016-08-24 51 views
1

使用貝哈特/貂,我測試的「記住我」的功能。在功能上,當用戶訪問主頁面時,javascript/ajax代碼將驗證用戶是否被「記住」。如果是,那麼javascripts會重定向到另一個頁面。我LoginPage定義與$path = '/login.html' - 重定向後,我將結束在/main.html使用JavaScript重新導向的頁面級>開放

在我的背景,我用$loginPage->open() - 然而,這引發異常Expected to be on "https://example.com/login.html" but found "https://example.com/main.html" instead。當然,這會中止執行並導致測試失敗 - 但這正是我想要的行爲。

如何告訴behat /貂而不是驗證URL或忽略URL不匹配?

回答

0

如果您檢查您會看到open()方法,對你是當檢查驗證()方法的URL參數未通過檢查。

如果你想避免這種情況,你可以重寫此方法只檢查的響應,而不是網址參數。

爲了做到這一點,你需要擴展頁面,並宣佈這樣一個新的方法:

public function verify(array $urlParameters){ 
    $this->verifyResponse(); 
}