场景:
我已经使用Jest为React Web应用程序配置了e2e测试。要在本地运行e2e测试,我必须使用npm start
命令从一个终端窗口本地启动服务器,并从另一个终端窗口执行测试命令npm run test:e2e
。我的电脑上同时安装了Chrome浏览器和Firefox浏览器,因此e2e测试在本地正常运行。
现在,我想将这些e2e测试作为GitLab CI-CD管道的一部分运行,并遇到以下问题:
如何确保GitLab运行程序可以使用浏览器(Chrome / Firefox)?我得到了一些教程,建议在管道步骤中安装所需的浏览器。这是最好的方法吗?
是否可以在不安装浏览器的情况下实现相同的目的?例如:使用selenium_standalone-chrome
张图片?如果是,该怎么办?
高度赞赏对示例链接/代码的任何引用。谢谢。
答案 0 :(得分:0)
在GitLab CI-CD管道中(目前仅适用于Chrome浏览器):
E2Etest:
stage: e2e
image: node:10.15.3
variables:
CI_DEBUG_TRACE: "true"
allow_failure: false
script:
- set -e
- npm install
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- sh -c 'echo deb http://dl.google.com/linux/chrome/deb/ stable main > /etc/apt/sources.list.d/google.list'
- apt-get update
- apt-get install -y xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic xvfb x11-apps imagemagick google-chrome-stable
- npm run test:e2e:chrome
- pkill node
artifacts:
paths:
- coverage
expire_in: 1 hr