Docker 中的 运行 时赛普拉斯错误 "The automation client disconnected. Cannot continue running tests."
Cypress error "The automation client disconnected. Cannot continue running tests." when running in Docker
运行 Docker 容器中的 Cypress 测试套件时出现以下错误:
The automation client disconnected. Cannot continue running tests.
使用此命令,运行 在 cypress/browsers:node12.6.0-chrome75
容器中:
cypress run --browser=chrome
这似乎发生在 运行 离开 shm space 时。
默认情况下,Docker 创建一个具有 /dev/shm
共享内存 space 64MB 的容器。
这通常对于 Chrome 来说太小了,可能会导致 Chrome 崩溃。
我找到了两个解决方法:
- 禁止使用
/dev/shm
:
// cypress/plugins/index.js
module.exports = (on, config) => {
// ref: https://docs.cypress.io/api/plugins/browser-launch-api.html#Usage
on('before:browser:launch', (browser = {}, args) => {
if (browser.name === 'chrome') {
args.push('--disable-dev-shm-usage')
return args
}
return args
})
}
- 增加容器中
/dev/shm
的大小:
运行 docker run --shm-size=1gb
的容器(或任何你想要的大小)
运行 Docker 容器中的 Cypress 测试套件时出现以下错误:
The automation client disconnected. Cannot continue running tests.
使用此命令,运行 在 cypress/browsers:node12.6.0-chrome75
容器中:
cypress run --browser=chrome
这似乎发生在 运行 离开 shm space 时。
默认情况下,Docker 创建一个具有 /dev/shm
共享内存 space 64MB 的容器。
这通常对于 Chrome 来说太小了,可能会导致 Chrome 崩溃。
我找到了两个解决方法:
- 禁止使用
/dev/shm
:
// cypress/plugins/index.js
module.exports = (on, config) => {
// ref: https://docs.cypress.io/api/plugins/browser-launch-api.html#Usage
on('before:browser:launch', (browser = {}, args) => {
if (browser.name === 'chrome') {
args.push('--disable-dev-shm-usage')
return args
}
return args
})
}
- 增加容器中
/dev/shm
的大小:
运行 docker run --shm-size=1gb
的容器(或任何你想要的大小)