Vue.js Vue Cypress和Gitlab CI/CD
我目前正试图让我的E2E测试通过他们的CI/CD平台在Gitlab上运行 我目前的问题是,我不能同时运行dev服务器和cypress,这样E2E测试就可以运行了 这是我当前的Vue.js Vue Cypress和Gitlab CI/CD,vue.js,continuous-integration,gitlab,gitlab-ci,cypress,Vue.js,Continuous Integration,Gitlab,Gitlab Ci,Cypress,我目前正试图让我的E2E测试通过他们的CI/CD平台在Gitlab上运行 我目前的问题是,我不能同时运行dev服务器和cypress,这样E2E测试就可以运行了 这是我当前的.gitlab ci.yml文件: image: node variables: npm_config_cache: "$CI_PROJECT_DIR/.npm" CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress" cache: key: ${CI_CO
.gitlab ci.yml
文件:
image: node
variables:
npm_config_cache: "$CI_PROJECT_DIR/.npm"
CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress"
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- .npm
- cache/Cypress
- node_modules
stages:
- setup
- test
setup:
stage: setup
image: cypress/base:10
script:
- npm ci
# check Cypress binary path and cached versions
# useful to make sure we are not carrying around old versions
- npx cypress cache path
- npx cypress cache list
cypress:
stage: test
image: cypress/base:10
script:
# I need to start a dev server here in the background
- cypress run --record --key <my_key> --parallel
artifacts:
when: always
paths:
- cypress/videos/**/*.mp4
- cypress/screenshots/**/*.png
expire_in: 7 day
图像:节点
变量:
npm_配置_缓存:“$CI_项目_目录/.npm”
CYPRESS\u缓存文件夹:“$CI\u项目\u目录/CACHE/CYPRESS”
隐藏物:
键:${CI\u COMMIT\u REF\u SLUG}
路径:
-.npm
-高速缓存/柏树
-节点单元
阶段:
-设置
-试验
设置:
阶段:设置
图片:柏树/底座:10
脚本:
-npm ci
#检查Cypress二进制路径和缓存版本
#有助于确保我们没有携带旧版本
-npx cypress缓存路径
-npx cypress缓存列表
柏树:
阶段:测试
图片:柏树/底座:10
脚本:
#我需要在后台启动一个dev服务器
-cypress运行--记录--键--并行
人工产品:
时间:总是
路径:
-cypress/videos/***.mp4
-cypress/screenshots/***.png
过期时间:7天
在中,有一个for。它使用命令npm run start:ci&在后台运行dev服务器。
因此,您的
.gitlab ci.yml
可能如下所示:
⋮
cypress:
image: cypress/base:10
stage: test
script:
- npm run start:ci & # start the server in the background
- cypress run --record --key <my_key> --parallel
⋮
⋮
柏树:
图片:柏树/底座:10
阶段:测试
脚本:
-npm运行启动:ci在后台启动服务器
-cypress运行--记录--键--并行
⋮
或使用此实用程序启动服务器,等待URL响应,然后运行测试并关闭服务器