如何解决在单台机器上并行运行 cypress 测试会出错
TLDR:在 jenkins 的同一台机器上的 docker 容器中运行并行 cypress 测试的问题。
我正在尝试在单个 aws 机器 2 docker cypress 实例上运行,以同时并行运行不同的套件。我遇到了一些问题,尽管我已经在 docker-compose.yml
和 cypress.json
文件上配置并公开了 2 个独特且不同的端口,但似乎端口发生了冲突。他的第一个容器可以工作,但第二个容器因以下错误而崩溃:
✖ Verifying Cypress can run /home/my-user/.cache/Cypress/4.1.0/Cypress
→ Cypress Version: 4.1.0
Xvfb exited with a non zero exit code.
There was a problem spawning Xvfb.
This is likely a problem with your system,permissions,or installation of Xvfb.
----------
Error: _XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
----------
Platform: linux (Ubuntu Linux - 18.04)
Cypress Version: 4.1.0
重要说明:我想自己实现并行化,而不是使用 cypress 中的功能 --parallel
,我只需要在封装环境中在同一台机器上内部实现它。
有什么建议吗?
解决方法
如果我理解正确,您需要做的就是使用 git add
启动 cypress(在容器中)。例如。 xvfb-run -a
因此 xvfb-run -a npx cypress run --browser Chrome
将分配下一个可用端口号,这意味着您可以并行运行多个 cypress 容器。检查http://elementalselenium.com/tips/38-headless
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。