我不确定这会解决我的问题,但似乎最有可能。
现在的代码,在 after 钩子中,通过 browser.get 从 Angular 页面重定向到非 Angular 页面。
重定向确实发生了,不幸的是,在继续下一个场景之前,它会尝试在页面上找到角度,并会在打印错误并按预期继续之前阻止它。
我的想法是使用 browser.driver.get 并简单地等待 url 更改,但我不确定如何在 hooks 中使用 browser.wait。
谢谢
我不确定这会解决我的问题,但似乎最有可能。
现在的代码,在 after 钩子中,通过 browser.get 从 Angular 页面重定向到非 Angular 页面。
重定向确实发生了,不幸的是,在继续下一个场景之前,它会尝试在页面上找到角度,并会在打印错误并按预期继续之前阻止它。
我的想法是使用 browser.driver.get 并简单地等待 url 更改,但我不确定如何在 hooks 中使用 browser.wait。
谢谢
尝试这样的事情,其中 some_locator 是您希望在注销完成时显示的元素的定位器:
browser.ignoreSynchronization = true;
browser.wait(function() {
return element(<some_locator>).isDisplayed();
}, 30000);
这是关于wait()和isDisplayed()的更多信息。如果您将 Protractor 与 Cucumber-JS 一起使用,您可能还想查看CukeFarm。