1

我正在尝试使用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命令不按标签过滤场景,所以在这里没有用。我的选择是:

  1. 使用 orb 中的command参数来调用所需的脚本,就像我在本地做的那样:

command: npm run test:usa

我对这个选项的问题是并行配置没有按预期工作,所以我放弃了它。

  1. 我试图在 Circle-ci 执行器中将TAGS 参数作为 env var 传递,以查看 Orb 是否能够看到它,但它没有用,因为 Orb 不使用cypress-tags runbut cypress run
environment:
      TAGS: '@usa'

在这一点上,我的问题是,是否有解决方法(在 Circle-ci orb 中使用 cypress-tags)或者我应该选择不同的测试方式?

提前致谢

4

0 回答 0