我希望能够在终端中运行我的测试,但由于 Cypress 使用 Electron 作为默认浏览器,我所有的测试都失败了,我希望它使用 Chrome,但不必在命令行中指定它。
我知道我可以使用命令npx cypress run --browser chrome告诉 Cypress 改用 Chrome。但是,它会打开浏览器并在命令行中运行它。
理想情况下,就只需要我跑npx cypress run,这将只在命令行中使用Chrome运行。
有没有办法将默认浏览器设置为 Chrome 而不是 Electron,这样我就不需要指定要使用的浏览器?
是否有什么要添加到package.json文件中以将默认浏览器设置为 Chrome 或在某处注入一行?我检查了文档,除了--browser命令之外我真的找不到任何东西。
这是他们 github 上关于无头 chrome 的未解决问题的链接,以及更改默认设置的链接 cypress run
支持 chrome headless 并更改 cypress run 的默认值
对不起,糟糕的涂鸦......我在保密协议下,所以不得不回去刮掉我项目的所有路径名以及我的姓氏。
Zac*_*ist 13
Cypress 3.8.1+ 允许您通过使用 Chrome headless传递--headless到cypress run使 Chrome 在任何操作系统上不可见:
cypress run --headless --browser chrome
目前没有办法
run在 macOS 或 Windows 上隐藏 Chrome模式。我们想支持它,但我们必须找到某种解决方法,
xvfb因为它不可用。我们也不能使用google-chrome --headless,因为它不允许我们安装 Cypress 扩展。
以下建议仅适用于 Linux。
npx cypress run --browser chrome是做你想做的事情的正确方法。如果您使用的是 Linux,您可以通过清空
DISPLAYenv 变量使其在虚拟帧缓冲区中运行 Chrome(因此它将对您隐藏) :
DISPLAY= npx cypress run --browser chrome
技术说明:
- 赛普拉斯不支持在“无头 Chrome”中运行 - 首次编写赛普拉斯时,无头 Chrome 并不存在
- 因此,当 Cypress 在 Chrome 中的 CI 中运行时,它使用
xvfb创建一个 X 虚拟帧缓冲区,然后它使用该DISPLAY变量告诉 Chrome 运行在xvfb- 但是,如果您已经
DISPLAY设置(默认情况下,如果您有显示管理器,它会在 Linux 上设置),它将使用它DISPLAY- 这就是为什么即使您正在执行cypress run.DISPLAY=在命令之前添加nulls outDISPLAY,这意味着 Cypress 将xvfb在那里生成并运行它。
| 归档时间: |
|
| 查看次数: |
6763 次 |
| 最近记录: |