作者:梦幻00草根_831 | 来源:互联网 | 2022-12-29 12:18
我目前正在Chrome Puppeteer中进行e2e测试.我处于将测试集成到开发过程中的理想阶段.
我想要完成的是:我的测试在每次部署到生产之前自动运行.如果成功部署完成,如果失败则部署将被取消.
我在gitlab上使用管道来自动化我的部署过程.所以我的主要问题是如何将我的木偶测试集成到gitlab-ci.yml文件中?
1> Rince..:
这可能有点像黑客但我的运行方式如下:
test:
image: node:latest
stage: run
script:
- apt-get update
- apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
- yarn
- yarn test
超长的图书馆列表是木偶操作者需要启动Chrome的.理想情况下,你会有一个现成的码头图像,但我找到的所有预制的图像都不适合我.
为prod做好准备时,您应该构建自己的映像,从节点获取并安装依赖项本身.
2> Andreas Köbe..:
我们遇到了同样的问题,你需要在提供木偶操作的docker图像上运行舞台:
# run performance monitor
performanceMonitoring:
stage: performanceMonitoring
image: alekzonder/puppeteer
script:
- yarn run performanceMonitoring