首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由Hammerhead的请求流水线产生的问题随机中止的测试执行(Testcafe e2e测试)

由Hammerhead的请求流水线产生的问题随机中止的测试执行(Testcafe e2e测试)
EN

Stack Overflow用户
提问于 2021-11-26 14:06:25
回答 1查看 85关注 0票数 0

感谢您对此进行研究!

我们正在运行一个相当全面的测试套件(一些测试的hunderds ),目的是确保我们的跟踪实现按预期工作。我们每天通过CI 4x执行此测试。几个星期以来,我们有随机的测试中止,不幸的是,这是非常难以跟踪和再现的。

当前的行为是什么?

代码语言:javascript
复制
Errors: Unhandled promise rejection:

Error [ERR_HTTP2_INVALID_SESSION]: The session has been destroyed

at new NodeError (node:internal/errors:371:5)

at ClientHttp2Session.request (node:internal/http2/core:1702:13)
at DestinationRequest._sendRealThroughHttp2 (/home/ec2-user/actions-runner/_work/ds_cerberus/ds_cerberus/node_modules/testcafe-hammerhead/lib/request-pipeline/destination-request/index.js:51:32)
at DestinationRequest._send (/home/ec2-user/actions-runner/_work/ds_cerberus/ds_cerberus/node_modules/testcafe-hammerhead/lib/request-pipeline/destination-request/index.js:110:18)
at runMicrotasks (:null:null)

at processTicksAndRejections (node:internal/process/task_queues:96:5)

对我们来说,这看起来像是锤头库中的竞速条件,它被用作testcafe的代理。但是我们不知道如何修复这个问题--或者至少要确保不是整个测试套件都会被它中止。

如果测试中止,这就是堆栈跟踪。不幸的是,这意味着所有测试的执行都会中止,并且不仅影响单个测试,这使得整个套件对我们来说非常无用……

重现步骤

如果测试是在套件中执行而不是单独执行,似乎会有更多的中止-但即使在那里,也很难识别模式。

TestCafe版本

"testcafe":"^1.17.1",

Node.js版本

节点版本:'16.x‘

命令行参数

testcafe -config-file .testcaferc-dev.json测试

EN

回答 1

Stack Overflow用户

发布于 2021-11-29 08:15:42

该问题可能与HTTP/2请求有关。因此,您可以使用以下选项禁用它:disableHttp2。检查问题是否在此之后重现。

您还可以尝试增加超时,例如ajaxRequestTimeouttestExecutionTimeout

如果这不起作用,请创建一个简单的项目,其中问题是可重现的,并在这里分享它。我们将在我们这边进行研究。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70125688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档