我正在尝试使用cucumber 插件和官方 Circle-ci Orb 使用 Cypress 运行一个小型测试集合。
我一直在阅读文档,并且我已经让它们在本地运行而没有问题。我用来在本地运行它们的脚本是这个:
"test:usa": "cypress-tags run --headless -b chrome -e TAGS='@usa'"
*注意cypress-tags命令和TAGS选项。
对于 CI,我使用官方的Circle-ci Orb并进行如下配置:
- cypress/run:
name: e2e tests
executor: with-chrome
record: true
parallel: true
parallelism: 2
tags: 'on-pr'
group: 2x-chrome
ci-build-id: '${CIRCLE_BUILD_NUM}'
requires:
- org/deployment
正如您所读到的,我想提升 2 台机器,在其中划分我的功能文件,将标签设置为“on-pr”,并使用 ci-build-id 将运行分组在“2x-chrome”下。
问题是官方 Orb 使用的cypress run
命令不按标签过滤场景,所以在这里没有用。我的选择是:
- 使用 orb 中的command参数来调用所需的脚本,就像我在本地做的那样:
command: npm run test:usa
我对这个选项的问题是并行配置没有按预期工作,所以我放弃了它。
- 我试图在 Circle-ci 执行器中将TAGS 参数作为 env var 传递,以查看 Orb 是否能够看到它,但它没有用,因为 Orb 不使用
cypress-tags run
butcypress run
。
environment:
TAGS: '@usa'
在这一点上,我的问题是,是否有解决方法(在 Circle-ci orb 中使用 cypress-tags)或者我应该选择不同的测试方式?
提前致谢