量角器在单击按钮时抛出"Error while waiting for Protractor to sync with the page"



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

失败:等待量角器与页面同步时出错:"角度JS可测试性和角度可测试性均未定义。这可能是因为这是一个非角度页面,或者因为您的测试涉及客户端导航,这可能会干扰量角器的引导。详情请看 https://github.com/angular/protractor/issues/2643"

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

  1. Browser.ignoresync = true;
  2. 单击"更新"按钮
  3. 浏览器睡眠(3000);
  4. Browser.ignoresync = false;

我也尝试过简单的浏览器睡眠,但没有一个有效。这个问题是可变的,有时它会抛出错误,有时不会。我的猜测是,当网站花费的时间比加载睡眠时间更长时,它会引发错误。

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

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

browser.ignoreSynchronization = true;已弃用,请在单击应用程序中的update按钮后尝试browser.waitForAngularEnabled(true);

因此,这会让您的量角器等到所有角度模块完全加载。

希望对您有所帮助。

您对网站加载时间较长时发生的超时的怀疑对我来说似乎是正确的,因为您看到了第一页交互的问题。我会添加一个browser.wait而不是明确的等待,以允许您的页面获得所需的时间。

browser.wait(
element(by.buttonText('Update')), 
10*1000, 
'Page did not load within 10 seconds (update btn not present)'
)

相关内容

  • 没有找到相关文章

最新更新