单击按钮时,量角器会引发“等待量角器与页面同步时出错”

时间:2019-03-28 04:58:18

标签: angular jasmine protractor

我正在使用量角器和茉莉花为我的角度Web应用程序编写E2E测试。我的情况是,单击“更新”按钮后,我的网站重新加载,重新加载后,它降落在同一个角度的页面上,如果网站重新加载量角器花费的时间太长,则会引发以下错误:

  

失败:等待量角器与页面同步时出错:“ angularJS可测试性和角度可测试性均未定义。这可能是因为这是一个非角度页面,或者是因为您的测试涉及客户端导航,所以干扰量角器的引导。有关详细信息,请参见https://github.com/angular/protractor/issues/2643

我在堆栈溢出时在这里应用了所有解决方案,但是没有一个解决问题。我尝试了以下启用和禁用同步:

  1. Browser.ignoresync = true;
  2. 点击更新按钮
  3. browser.sleep(3000);
  4. Browser.ignoresync = false;

我也尝试了简单的浏览器睡眠,但是没有一个起作用。此问题有时会引发错误,有时不会发生,因此是可变的。我的猜测是,当网站花费比睡眠时间更长的时间时,它将引发错误。

我正在使用以下版本的量角器和茉莉花:

"protractor": "5.4.2",
"jasmine": "2.8.3"

2 个答案:

答案 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)'
)