Pra*_*ara 1 automation typescript cypress
我在柏树有一个浏览器崩溃问题.我的自动化脚本有点漫长的过程,因此在运行几个场景之后.每当它尝试运行第三个场景时,浏览器崩溃并显示以下屏幕.
有时它会超时并抛出440个未知代码错误.
如果我移动我的第一个场景,那么也是同样的行为.每次第1和第2次执行都很完美,但从第3次开始,所有测试都失败
有没有人面对类似的问题?
赛普拉斯有两种运行模式:调试/开发模式,启动cypress open
和测试运行模式,以cypress run
.
cypress run
有一些关键的区别cypress open
.最明显的cypress run
是无头.它在后台启动Electron浏览器并执行所有测试.
这不是唯一的区别.在运行时cypress open
,赛普拉斯需要定期的DOM快照进行调试,您可能已经知道了.这是通过所描述的受控内存泄漏实现的; 如果你有一个运行时间太长的测试,cypress open
内存将继续攀升,直到Chrome最终崩溃.
如果您的测试工作正常cypress run
而不是cypress open
,那么您的问题很可能是内存.如果是这种情况,您有两个选项可以提供帮助.
首先,您可以减少内存中保存的快照数量.您cypress.json
的根赛普拉斯文件夹中的文件允许您为各种设置设置自定义值.numTestsKeptInMemory
默认为30,但您可以将其减少到10,5或甚至0.在0时,您将无法获得任何DOM快照.内存使用量仍会攀升,但速度会慢得多.
{
"numTestsKeptInMemory": 0
}
Run Code Online (Sandbox Code Playgroud)
其次,您可以并且应该将一个大型测试文件拆分为多个较小的测试文件.从版本3.0.0开始,赛普拉斯在自己的渲染过程中运行每个测试文件.这使得赛普拉斯可以在每次测试后进行清理,只要您的个人文件足够小,就可以有效地修复内存问题.
如果这些都没有解决您的问题,那么您可能正在处理另一个错误,例如这个错误.如果您在Github跟踪器上找不到您的问题,您可能需要考虑报告它.
归档时间: |
|
查看次数: |
1049 次 |
最近记录: |