Javascript 在页面上重定向 -> 打开
Javascript redirects on page->open
使用 behat/mink,我正在测试 "remember me" 功能。从功能上讲,当用户访问主页时,javascript/ajax 代码会验证用户是否为 "remembered"。如果是,则 javascript 重定向到另一个页面。我的 LoginPage
是用 $path = '/login.html'
定义的 - 重定向后,我将在 /main.html
.
上结束
在我的上下文中,我使用 $loginPage->open()
- 但是这会引发异常 Expected to be on "https://example.com/login.html" but found "https://example.com/main.html" instead
。当然,这会中止执行并导致测试失败 - 但这正是我想要的行为。
如何告诉 behat/mink 不 验证 URL 或忽略 URL 不匹配?
如果您检查 open() 方法,您会发现检查失败是在检查 verify() 方法中的 url 参数时。
如果您想避免这种情况,您可以覆盖此方法以仅检查响应而不检查 url 参数。
为此,您需要扩展 Page 并像这样声明一个新方法:
public function verify(array $urlParameters){
$this->verifyResponse();
}
使用 behat/mink,我正在测试 "remember me" 功能。从功能上讲,当用户访问主页时,javascript/ajax 代码会验证用户是否为 "remembered"。如果是,则 javascript 重定向到另一个页面。我的 LoginPage
是用 $path = '/login.html'
定义的 - 重定向后,我将在 /main.html
.
在我的上下文中,我使用 $loginPage->open()
- 但是这会引发异常 Expected to be on "https://example.com/login.html" but found "https://example.com/main.html" instead
。当然,这会中止执行并导致测试失败 - 但这正是我想要的行为。
如何告诉 behat/mink 不 验证 URL 或忽略 URL 不匹配?
如果您检查 open() 方法,您会发现检查失败是在检查 verify() 方法中的 url 参数时。
如果您想避免这种情况,您可以覆盖此方法以仅检查响应而不检查 url 参数。
为此,您需要扩展 Page 并像这样声明一个新方法:
public function verify(array $urlParameters){
$this->verifyResponse();
}