当前位置: 首页 > 面试题库 >

50001ms后等待量角器与页面同步超时

齐坚成
2023-03-14
问题内容

我正在测试AngularJS应用程序,并且对量角器非常新。每次我打开浏览器时,它都会打开,然后等待超时,然后在cmd上引发以下错误。

Timed out waiting for Protractor to synchronize with the page after 50001ms

我尝试增加超时限制,但始终会收到此错误。我也尝试过使用所有这些:

        browser.ignoreSynchronization = true;
        browser.driver.sleep(5000);
        browser.debugger();
        browser.waitForAngular();

该页面正确加载,并且如果我使用Eclipse和Selenium与按钮对象进行交互,则可以正常工作。

只有量角器出现同步问题。请帮忙。


问题答案:

量角器超时的可能原因:

  1. 您的网页未以预期的方式(即ng-appbody标记上带有)实现Angular 。更常见的是,在这种情况下您会遇到的错误是,Angular not found on page,但是超时并不是不可能的。ignoreSynchronization如果这是问题,使用可以解决此问题,所以这不是您。
  2. HTTP请求未决或失败。打开页面后,打开您的开发人员控制台并检查“网络”选项卡(使用Protractor加载该页面(可能是因为Protractor而不是手动测试)。如果发现失败,请确保正确发出请求。例如,如果您尝试通过HTTPS访问HTTP端点,则绝对有可能该请求失败并且Protractor超时。
  3. 您的页面正在轮询$timeout$http反复。在Angular达到“静止”状态(所有元素和数据绑定已加载并且所有请求已返回)之前,量角器将不做任何事情。

超时原因的官方列表在这里:https
:
//github.com/angular/protractor/blob/master/docs/timeouts.md。

但是,如果在页面加载时检查Javascript控制台和网络请求,则应该能够找出问题所在。祝好运!



 类似资料:
  • 问题内容: 我正在使用小型AngularJS应用测试量角器。 这是测试: 控制器: 草稿服务: 使用量角器运行此测试会导致以下错误: 但是,如果在控制器中更改此行: 对此: 测试失败,但未达到预期目的,但更重要的是:它不会超时。 启用query()时,在浏览器中手动运行应用程序以及查看Protractor打开的浏览器窗口时,转发器均会正确显示API返回的数据。 当服务与API通信时,为什么Prot

  • 问题内容: 我的档案是: 我的节点项目在9001端口上运行并在监听。 我的测试是: 我得到的错误是: 我究竟做错了什么?? 问题答案: (非常简短的版本): 使用代替。 较长的版本: Protractor基本上是Selenium及其Javascript WebDriver代码的包装。量角器添加代码以等待Angular“安顿下来”(即完成$ digest循环),然后继续测试代码。但是,如果您的页面上

  • 我试图遵循量角器官方网站上的量角器教程,但我甚至无法完成步骤0。 我在用量角器 之后,我一直在遵循教程的第0步。我有配置。js文件和test-spec.js文件如下: 配置js公司 测试规范js 当我运行protector

  • 问题内容: 我有一个单击按钮并重定向到用户仪表板的测试。发生这种情况时,Webdriver返回: 为了解决这个问题,我将插入到发生重定向的位置,并假设我的CPU使用率很低,这可以解决此问题。但是,2000 ms是任意的并且很慢。是否有类似的东西会等到Angular在重定向页面上加载之前? 问题答案: 您认为这样的事情对您有用吗?最多需要等待10秒,URL才能包含文本“ pageTwo”或您输入的任

  • 问题内容: 我使用Node.js和TypeScript,并且使用。这是我的测试用例: 我想为整个功能设置一个超时时间。即如果要花费2秒,花费0.5秒,花费5秒,我想在3秒钟后让我抛出错误的超时。 正常调用是一个问题,因为范围丢失了: 而且我不能用普通的方式抓住它: 有关如何解决的任何想法? 问题答案: 您可以使用超时: 您必须将其包装在诺言中才能使用。