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'匹配'https://www.google.com/'。
它适用于目标不是_blank的情况。它看起来很直接,但我无法让它工作。谢谢
target="_blank"
在新标签页中打开链接。
您可能仍然在第一个标签页上,但测试会查找google.com。
你应该在断言之前切换到最后一个标签。请参阅文档:http://www.protractortest.org/#/api?view=webdriver.WebDriver.prototype.switchTo
您还可以在这里查看示例用法:https://stackoverflow.com/a/32515194/6331748
编辑:在非异步方式下,它看起来像:
return.browser.getAllWindowHandles().then((availableTabs) => {
return browser.switchTo().window(availableTabs[availableTabs.length - 1]);
});
瞧!