我正在使用量角器和茉莉花为我的角度Web应用程序编写E2E测试。我的情况是,单击“更新”按钮后,我的网站重新加载,重新加载后,它降落在同一个角度的页面上,如果网站重新加载量角器花费的时间太长,则会引发以下错误:
失败:等待量角器与页面同步时出错:“ angularJS可测试性和角度可测试性均未定义。这可能是因为这是一个非角度页面,或者是因为您的测试涉及客户端导航,所以干扰量角器的引导。有关详细信息,请参见https://github.com/angular/protractor/issues/2643”
我在堆栈溢出时在这里应用了所有解决方案,但是没有一个解决问题。我尝试了以下启用和禁用同步:
我也尝试了简单的浏览器睡眠,但是没有一个起作用。此问题有时会引发错误,有时不会发生,因此是可变的。我的猜测是,当网站花费比睡眠时间更长的时间时,它将引发错误。
我正在使用以下版本的量角器和茉莉花:
"protractor": "5.4.2",
"jasmine": "2.8.3"
答案 0 :(得分:0)
browser.ignoreSynchronization = true;
已过时,请在您的应用程序中单击browser.waitForAngularEnabled(true);
按钮后尝试update
。
因此,这使您的量角器要等到所有角度模块都完全装入为止。
希望它对您有帮助。
答案 1 :(得分:0)
当您看到首页互动的问题时,您对网站加载时间较长的超时的怀疑对我来说似乎是正确的。我将添加一个browser.wait
而不是显式等待,以使您的页面拥有所需的时间。
browser.wait(
element(by.buttonText('Update')),
10*1000,
'Page did not load within 10 seconds (update btn not present)'
)