无头Chrome模式下的Cypress:错误:在TCP上读取ECONNRESET.onStreamRead(internal/stream_base_commons.js:205:27)

uqxowvwt  于 2023-09-28  发布在  Go
关注(0)|答案(2)|浏览(172)

我已经更新了我的Ubuntu(23.04,内核Linux 6.2.0-32-generic)和Chrome(117),并且在Chrome浏览器的无头模式下的cypress run命令现在不工作。使用Chrome v115时没有问题。
我尝试运行这个命令:yarn cypress run --headless --browser chrome --spec path/to/mytest.spec.js并得到一个错误:

Error: read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:205:27)
 {
  errno: 'ECONNRESET',
  code: 'ECONNRESET',
  syscall: 'read'
}

我将感激您的任何回答或建议,谢谢!

环境

Ubuntu:23.04,Linux 6.2.0-32-通用
Cypress:v6.8.0
Chrome浏览器:v117
NodeJS:18.16.1
NVM:v0.39.3

qltillow

qltillow1#

请尝试使用--headless=new标志。https://developer.chrome.com/articles/new-headless/关闭117时,旧Cypress在旧无头模式下连接到Chrome时遇到ECONNRESET错误。然而,Cypress现在启动了许多Chrome进程,这些进程在Cypress ID关闭后继续运行。它甚至挂起我的工作站时,在本地启动。

xam8gpfp

xam8gpfp2#

此问题是由影响Chrome 117bug in Chromium117引起的。它也被记录为Cypress issue 27804,其中列出了不同的解决方法。
Cypress问题中列出的一个解决方法是更新到Cypress版本> 12.14.0。其他变通方法更适合Cypress >= 10.0.0的非遗留版本。您正在使用的Cypress 6.8.0版本属于Cypress的旧版本,因此并非所有解决方法都可以完全适用。
该错误已经在Chromium Canary 119中修复,他们表示将发布到stable通道,因此另一种选择是等待Chrome的修复。

相关问题