对于使用 target='_blank_' 编写的重定向 URL,Protractor 测试失败
Protractor test fails for redirected urls that are written with target='_blank_'
fit('try google',async ()=>{
let logo = $('.logo')
await logo.click();
expect(await browser.driver.getCurrentUrl()).toMatch('https://www.google.com/');
});
<div class="logo">
<a href="https://www.google.com/" target="_blank">google</a>
</div>
错误
应为“http://localhost/thunfisch/home.aspx' to match 'https://www.google.com/”。
目标不为_blank时有效。它看起来很简单,但我无法让它工作。谢谢
target="_blank"
在新标签页中打开 link。
您可能仍在第一个选项卡上,但测试会查找 google.com。
您应该在断言之前切换到最后一个选项卡。请参阅文档:
http://www.protractortest.org/#/api?view=webdriver.WebDriver.prototype.switchTo
您还可以在此处查看示例用法:
编辑:
以非异步方式,它看起来像:
return.browser.getAllWindowHandles().then((availableTabs) => {
return browser.switchTo().window(availableTabs[availableTabs.length - 1]);
});
瞧!
fit('try google',async ()=>{
let logo = $('.logo')
await logo.click();
expect(await browser.driver.getCurrentUrl()).toMatch('https://www.google.com/');
});
<div class="logo">
<a href="https://www.google.com/" target="_blank">google</a>
</div>
错误
应为“http://localhost/thunfisch/home.aspx' to match 'https://www.google.com/”。
目标不为_blank时有效。它看起来很简单,但我无法让它工作。谢谢
target="_blank"
在新标签页中打开 link。
您可能仍在第一个选项卡上,但测试会查找 google.com。
您应该在断言之前切换到最后一个选项卡。请参阅文档: http://www.protractortest.org/#/api?view=webdriver.WebDriver.prototype.switchTo
您还可以在此处查看示例用法:
编辑: 以非异步方式,它看起来像:
return.browser.getAllWindowHandles().then((availableTabs) => {
return browser.switchTo().window(availableTabs[availableTabs.length - 1]);
});
瞧!