Protractor / Selenium XHR 保持“待处理”状态

2024-03-07

我正在使用 Protractor 和 selenium 来测试我的 Angular 页面。

在某些随机点,它只是停止执行,因为 XHR 请求仍处于“待处理”状态(在 Chrome 开发工具中)。

当我复制请求 URL(这是一个简单的 GET 请求)并在新选项卡中打开它时,它会立即返回数据(JSON,约 200 个字符长)。

执行 E2E 测试时,请求保持“待处理”状态,并且在调用 GET-URL 的 10 次中,可能会失败 1 次。

Selenium 打印以下错误:“从渲染器接收消息超时:298.388”。

有任何想法吗?

Edit:

  • Chrome 版本 71.0.3578.98
  • Chromedriver 版本 2.45
  • Selenium 服务器版本 3.141.59(独立)
  • AngularJS v1.6.4

作为最后的手段, 你可以执行JS http://www.protractortest.org/#/api?view=webdriver.WebDriver.prototype.executeScript:

waitForAngular(function(browser, timeOut){
    pendingReq = browser.executeScript("var injector = window.angular.element('body').injector(); var $http = injector.get('$http'); return ($http.pendingRequests.length === 0);"
    if (timeOut >= 0){
        timeOut -= 1;
        if ( pendingReq ){
            return
        };
        else {
            waitForAngular(browser, timeOut)
        };
    };
    else {
    console.log("did not load in time");
    };
});

这不是一种干净的编码方式,但我发现它可以帮助我处理请求仍待处理的 Angular 应用程序...

希望您觉得这有帮助!

EDIT:

上面的函数应该可以工作,它可能需要一些重构我没有测试它......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Protractor / Selenium XHR 保持“待处理”状态 的相关文章

  • EDI AS2 HTTP 跟踪?

    我们正在研究 AS2 实现 并希望能够构建有意义的测试用例以与 SoapUI 或 Postman 一起使用 为了做到这一点 我们有两种方法 只是尝试从现有客户端进行 tcp 转储 跟踪调用 从普通 EDI 文档开始手动构建一些简单的调用 或
  • Rails:测试需要访问 Rails 环境的助手(例如 request.fullpath)

    我有一个可以访问的助手request fullpath 在孤立的辅助测试中 request不可用 我应该怎么办 我可以以某种方式嘲笑它或类似的东西吗 我正在使用最新版本的 Rails 和 RSpec 这是我的助手的样子 def item a
  • 使用 Cucumber Scenario Outline 处理 Excel 电子表格

    如果可能的话 我试图找到一种更优雅的方法来处理从与 Excel 电子表格行 第 n 个 相关的 Cucumber Scenario Outline 中调用第 n 个数字 目前 我正在使用迭代编号来定义要从中提取数据的 Excel 电子表格的
  • java.net.SocketException:Selenium driver.close() 或 driver.quit() 语句上的连接重置

    我看到一个java net SocketException 连接重置几乎每次我使用 driver close 或 driver quit 语句时 浏览器确实关闭了 并且到目前为止 该异常并未影响我的任何测试 但我仍然想了解为什么会发生这种情
  • 如何在运行“go test”时排除或跳过特定目录[重复]

    这个问题在这里已经有答案了 go test go list grep v vendor coverprofile testCoverage txt 我正在使用上述命令来测试文件 但有 1 个名为 Store 的文件夹我想从测试中排除 怎样才
  • 如何阻止与 RSpec 和 Capybara 的外部连接?

    在我的 Rails 项目中 我想编写非理想条件的测试 例如缺乏互联网连接或超时 例如 我正在使用 gem 来联系 API 并且希望确保在我的应用程序和外部 API 之间存在连接问题时能够正确处理错误 我已经可以通过用录像机制作固定装置并从
  • 如何将脚本作为 pytest 测试运行

    假设我有一个用简单脚本表示的测试assert 陈述 请参阅背景了解原因 例如 import foo assert foo 3 4 我如何以一种好的方式将该脚本包含在我的 pytest 测试套件中 我尝试了两种有效但不太好的方法 一种方法是将
  • C# 如何单击 IList 中的 IWebelement?

    所以我尝试单击 YouTube 上的按钮 但我无法通过 Xpath 找到该按钮 因为按钮太多 所以我尝试将它们保存在 IList 中 现在我想单击列表中的特定按钮 ChromeDriver chrome new ChromeDriver L
  • Expresso 的 Android 测试首选项片段

    我在通过 Expresso 测试我的代码时遇到问题 我写了这段代码 public class SettingsActivity extends Activity Override protected void onCreate Bundle
  • 无法实例化类型 AppiumDriver

    我在项目构建路径中添加了以下 jar java client 2 0 0 来自http appium io downloads html http appium io downloads html gt gt Appium 客户端库 gt
  • selenium-webdriver 与 webdriverjs 有什么区别(以及何时使用)?

    我是一位使用 selenium webdriver 的经验丰富的专业人士 我正在探索有关如何测试 javascript 应用程序的更多选项 我发现了 webdriverJs 不幸的是 我不明白这两者 2 之间有什么区别 有人可以解释一下何时
  • 设置已运行的 selenium webdriver 的功能

    在硒测试步骤 如单击按钮 中 我想防止硒等待页面完成加载 我无法抛出加载异常 因为那样我就无法再使用该页面了 可以做类似的事情 如下所示 DesiredCapabilities dr DesiredCapabilities chrome d
  • 如何调试超时等待异步 Angular 任务?无法在角度页面上找到元素

    编辑 请注意 在 ernst zwingli 的帮助下 我找到了问题的根源 因此 如果您遇到相同的错误 他指出的修复之一可能会帮助您 我的问题是量角器本身的一个已知问题 如果您认为这可能是您 我已经扩展了我的步骤 以在我最初的问题之后查明问
  • 断言错误:预期 [ true ] 为 true

    我遇到了奇怪的断言问题 因此即使成功的断言也会被标记为失败 如下所示 this expect this getWidget contacts isNamesDisplayed to eventually be true and notify
  • Selenium 中的断言和验证

    有人可以解释一下断言和验证之间的区别吗 我知道验证意味着它检查它是否存在 如果不存在 则测试失败并停止在那里 正确吗 那么 即使断言失败了 断言还会继续吗 我已经阅读了文档 但仍然无法理解它 不 你已经搞反了 在 Selenium IDE
  • 如何从下面的html中提取数据?

    我想要从中提取数据的 Html 是 div class infoMessageInner p span class ng binding Fiber r best lld till adressen Tj nsterna kan du be
  • PHPUnit\Framework\TestCase 和 Tests\TestCase 有什么区别?

    我注意到在示例测试中 这两个类是内置的 功能测试 gt use Tests TestCase 单元测试 gt PHPUnit Framework TestCase 两者有什么区别 在什么情况下您会使用其中一种 PHPUnit Framewo
  • 使用 WebServiceContext 测试 @Webservice EJB(使用 OpenEJB?)

    我有一些 EJB 作为 JAX WS Web 服务 WebService Stateless Remote MobileFacade class public class MobileFacadeBean implements Mobile
  • 如何使用 jQuery 进行同步请求?

    为什么不返回该函数的responseText function LoadBookmarksAsXml return ajax type GET async false url http www google com bookmarks ou
  • 使用 TestNG 运行并行测试时捕获 WebDriver 屏幕截图

    我目前正在通过分别重写 TestListenerAdapter 方法 onTestFailure 和 onTestSuccess 来捕获 TestNG 中失败和成功的屏幕截图 为此 您需要指定要截取屏幕截图的驱动程序 我的问题 在方法级别并

随机推荐

  • 在 php 中清理整个 $_POST 数组的好方法是什么? [复制]

    这个问题在这里已经有答案了 我有一个包含很多变量的表单 然后发送电子邮件 而不是清理每个变量 POST价值与filter var POST var FILTER SANITIZE STRING 我正在寻找一段更简单的代码 我想出了下面的内容
  • knit:在 Rmd 文档中编织单独的 Rnw 文档

    我有一个 R markdown 主文档 Rmd 我想在其中knit一些separate其中一个块中的 Rnw 文档 无子文档 然而 当我打电话时knit在Rnw文档上 包含的R代码块似乎没有被处理 导致尝试运行时出错texi2pdf在他们
  • 如何在 WPF 中播放 .flv 文件?

    如何在 WPF 中播放 flv 文件 请任何人帮助我 Create the interop host control var host new WindowsFormsHost Create the ActiveX control var
  • matlab中的散点极坐标图

    我正在尝试绘制楔形图 赤经与红移 我想我可以在极坐标中使用散点图 matlab中的极坐标函数似乎非常有限 甚至这个 polar a 1 a 2 Linewidth 1 给我一个错误 Error using polar line 23 Too
  • 在我的 math.h 中找不到 log2?

    我正在使用相当新安装的 Visual C 2008 Express 我正在尝试编译一个使用 log2 函数的程序 该程序是通过在 Mac 上使用 Eclipse 找到的 但是这台 Windows 计算机找不到该函数 错误 C3861 log
  • 通过 Segue 传递数据 (swift 2)

    这是一个小费计算器项目 它必须有一个设置视图 我可以在其中选择默认小费率 我在传递数据时遇到一些问题 当我选择默认小费百分比时 它在视图控制器中不会更改 而且我想让应用程序在关闭应用程序并重新打开时记住默认费率 如果有人纠正我的代码并对其进
  • 具有一个参数的多个构造函数

    因此 在学校我们接到了一项作业 用 OOP 制造一辆汽车 到目前为止 这一切都非常简单和直接 但现在我需要创建四个构造函数 一个不带参数 两个带一个参数 一个带两个参数 据我所知 重载的工作方式是检查您提供的参数数量 然后检查它必须使用哪个
  • ChartJS:图表不显示所有数据

    由于某种原因 该图表没有显示数组中的最后两个数据 var data labels Brasil Argentina Chile Paraguai Peru Bol via M xico datasets data 9 19 7 77 6 8
  • AWS API Gateway 始终返回 502 bad gateway

    我在 AWS 中创建了一个简单的 lambda 函数 它从 DynamoDB 返回列表 我还创建了 API Gateway 来触发 lambda 函数 当我在 AWS 控制台中测试时 该函数运行良好 但是当我在 Postman 中测试此功能
  • 如何删除 lambda 事件处理程序 [重复]

    这个问题在这里已经有答案了 我最近发现我可以使用 lambda 来创建简单的事件处理程序 例如 我可以订阅这样的点击事件 button Click s e gt MessageBox Show Woho 但你如何取消订阅呢 C 规范明确指出
  • 如何在文本中定义人名(Java)

    我有一些输入文本 其中包含一个或多个人名 我没有这些名字的字典 哪个 Java 库可以帮助我根据输入文本定义名称 我浏览了 OpenNLP 但没有找到任何示例或指南 或者至少没有找到如何将其应用到我的代码中的描述 我看到了 javadoc
  • AttributeError:“TimedeltaProperties”对象没有属性“分钟”

    我有一个看起来像这样的数据框 df output date time 2020 02 28 00 30 45 2020 02 28 00 30 45 2020 03 09 00 21 06 2020 03 09 00 21 06 2020
  • 应用程序退出,退出代码为 -1073740771

    我有一个 WPF 应用程序 有时会以退出代码 1073740771 退出 该问题不会以任何模式出现 并且因系统而异 在某些系统中 该问题的发生率不到总案例的 10 而在其他系统中 我发现该问题的发生率几乎占总案例的 30 我无法形成任何可靠
  • UIImagePickerController 选择视频会阻止 MPMoviePlayerViewController 实例工作

    我有一个视图控制器 我在其中呈现UIImagePickerController在弹出窗口中 如果用户选择视频 则关闭弹出窗口并移至下一个 页面 视图控制器 并尝试使用以下方式播放任何电影MPMoviePlayerViewController
  • 如何将图片转换为html?

    有没有办法将图像转换为html相当于图像 通过有一个html表分为许多单元格 每个单元格都有特定的背景颜色 就像图像中的像素一样 很像 ASCII 艺术 我认为这是一种在电子邮件签名中包含公司徽标的方法 而不必担心电子邮件客户端阻止图像 是
  • 每个数据库提供程序类型允许的最大参数数是多少?

    可以传递到 Sql Server 查询 即通过 ADO Net 的参数限制为 2 100 个 但是 Net 开发人员使用的其他常见数据库的记录限制是什么 特别是我感兴趣的是 甲骨文10g 11g MySql PostgreSQL Sqlit
  • JavaFX 偶发渲染问题 - 按钮/控件消失

    我有一个 Java JavaFX 应用程序部署为 Windows 和 Mac 的本机安装 目前捆绑的运行时间为 8 121 您可以在此处找到安装程序和 Java 代码 乔治下载 http www george andante no down
  • 基于 SML 的文件查找

    有没有办法使用 SML Basis 库在特定位置打开文件 也就是说 使用操作系统调用来更改位置 而不是扫描文件并丢弃数据 这很棘手 不幸的是 不直接支持搜索 此外 文件位置仅对于二进制文件是透明的 即您使用BinIO结构 1 对于该结构体
  • 如何获取两个列表并将它们组合起来排除任何重复项?

    我想从两个单独的独特项目列表中创建一个列表 还有其他类似的问题 但似乎没有任何问题涉及有效地解决这个问题 因为列表有几百万个项目长 完全无关 我是唯一一个讨厌标签建议框掩盖 发布你的问题 按钮的人吗 Use a set gt gt gt f
  • Protractor / Selenium XHR 保持“待处理”状态

    我正在使用 Protractor 和 selenium 来测试我的 Angular 页面 在某些随机点 它只是停止执行 因为 XHR 请求仍处于 待处理 状态 在 Chrome 开发工具中 当我复制请求 URL 这是一个简单的 GET 请求