【问题标题】:How to implement intervals in protractor/selenium如何在量角器/硒中实现间隔
【发布时间】:2015-07-15 02:34:02
【问题描述】:

我正在编写一系列自动化测试,但遇到间歇性超时/同步错误。我在网上看了,被告知使用间隔可以解决这个问题

https://github.com/angular/angular.js/blob/master/src/ng/interval.js

我想知道如何将 interval.js 文件与其余文件合并?我是在 protractor-config.js 中添加一行,还是将其链接到其他地方。如果是这样,我该如何链接它?

【问题讨论】:

    标签: javascript selenium protractor


    【解决方案1】:

    $interval 服务与 Angular 捆绑在一起;您无需下载任何新文件或与 Protractor 集成任何内容。您的 Protractor 测试很可能就如他们所愿。

    当每个人告诉您使用 $interval 时,每个人的意思是您(或您公司的开发人员)需要查看您的应用程序的源代码以查找重复发生的 $timeout$http 请求(在递归函数、一个循环或两个错误地相互调用的函数),或者可能是一个失败的 $http 请求(这将在 Chrome 的开发者控制台中的“网络”选项卡下显示为鲜红色)。

    循环 $timeouts(和失败的 $http 请求)不好的原因是 Protractor,按照设计,将等待 每个 $timeout 回调和 $http 请求完成完全在它会做任何事情之前。但是,它不会等待$interval 回调完成。 $interval$timeout 的语法几乎完全相同,因此从一个更改到另一个并不难——唯一的区别是$timeout 执行一次,而$interval 在一个连续循环中执行。官方文档如下:

    $timeout

    $interval

    在我发布的另一个答案中列出了更多可能性,以及指向 Protractor 可能发生这种情况的原因的官方列表的链接: Timed out waiting for Protractor to synchronize with the page after 50001ms

    我向您保证这是这些问题之一,但如果您提供有关您的情况的更多信息,我可以提供一些更具体的提示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-21
      • 2016-09-06
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      相关资源
      最近更新 更多