我正在尝试配置Gitlab CI以使其与赛普拉斯一起使用。总的来说,一切都是从赛普拉斯开始的。该问题出现在Cypress Dashboard中。基本上是可以的-测试记录正确。唯一的问题是,我想在两种浏览器(Chrome和Firefox)上测试我的应用。赛普拉斯在两个单独的运行中记录了两个浏览器:
我知道我不能同时运行他们两个。但是我想使用分组功能(或其他功能)“合并” runs
。
另一个提示我可以将两个浏览器组合运行的可能是测试结果中的此过滤器:
这是我的工作定义:
End-To-End:
stage: e2e
parallel: 2
artifacts:
when: on_failure
paths:
- dist/cypress/apps/client/my-app-web-e2e/videos/**/*.mp4
- dist/cypress/apps/client/my-app-web-e2e/screenshots/**/*.png
expire_in: 7 days
script:
- yarn e2e:ci:chrome --record --key $CYPRESS_RECORD_KEY --group "$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHA"
- yarn e2e:ci:firefox --record --key $CYPRESS_RECORD_KEY --group "$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHA"
和package.json
脚本:
{
"scripts": {
"e2e:ci": "nx affected --target=e2e --runner=ci --base=remotes/origin/master --parallel --prod --headless",
"e2e:ci:chrome": "yarn run e2e:ci --browser=chrome",
"e2e:ci:firefox": "yarn run e2e:ci --browser=firefox"
}
}
我正在使用$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHA
用于对浏览器进行分组的键,并且创建的组是分开的runs
。
我也尝试设置Run Completion Delay
上cypress.io > Project > Settings > Parallelization
像一些高价值1200
。但这对我的问题没有帮助。
另一种选择是无奈之下,我试图删除所有并行化,但是它的工作方式相同...
我不知道我怎么想念它,但是我刚刚发现有一个类似--ci-build-id
flag的东西可以解决我的问题:)
variables:
CI_ID: "$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHA"
...
End-To-End:
stage: e2e
parallel: 2
artifacts:
when: on_failure
paths:
- dist/cypress/apps/client/my-app-web-e2e/videos/**/*.mp4
- dist/cypress/apps/client/my-app-web-e2e/screenshots/**/*.png
expire_in: 7 days
script:
- yarn e2e:ci:chrome --record --key $CYPRESS_RECORD_KEY --group Chrome --ci-build-id $CI_ID
- yarn e2e:ci:firefox --record --key $CYPRESS_RECORD_KEY --group Firefox --ci-build-id $CI_ID
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句