浏览器.WaitForAngularEnabled(true) 挂起浏览器,直到 jasmine 默认时间到期



我正在研究角度 4 测试自动化并使用量角器工具。经过许多视频教程,我得出结论,使用量角器时不需要 WAIT 函数进行同步。当我使用browser.WaitForAngularEnabled(true)时,它会挂起浏览器,直到 jasmine 默认时间到期并且测试用例失败。附上规范beforAll()块代码。谁能告诉我我的概念是假的还是真的,如果它是真的,那么问题是什么?

login = new LoginPage();
addMemeber = new AddMemberClass();
return new Promise((resolve)=>{
login.navigateTo().then(()=>{
login.getEmailInput().sendKeys('valid_email@gmail.com');
login.getPasswordInput().sendKeys('123456');
login.getLoginButton().click();
console.log('here is protractor');                
browser.waitForAngularEnabled(true);
expect(browser.getCurrentUrl()).toContain('organization').then(()=>{
console.log('Nave bar present');
resolve();
})
});

您的观点在量角器中不使用等待函数进行同步是有效的。查看您的代码看起来您正在从非角度应用程序转向角度应用程序。在这种情况下"waitForAngularEnabled(true)"量角器在加载新页面时检查angular变量,

默认超时为 10 秒

如果未找到,则会抛出如下错误:

Message:
_[31m    Failed: script timeout: result was not received in 11 seconds

要在单个级别解决此问题page timeout请在browser.get(address, timeout_in_millis)中添加参数,并在配置文件中全局添加以下行

获取页面超时:timeout_in_millis

要更深入地了解waitForAngularEnabled(true)请参阅此讨论: https://stackoverflow.com/a/44073142/1976848

对于量角器中的超时:量角器超时

让我知道这是否有帮助!!

最新更新