在Cypress中一次运行即可记录多个浏览器

尼康

我正在尝试配置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 Delaycypress.io > Project > Settings > Parallelization像一些高价值1200但这对我的问题没有帮助。

另一种选择是无奈之下,我试图删除所有并行化,但是它的工作方式相同...

尼康

我不知道我怎么想念它,但是我刚刚发现有一个类似--ci-build-idflag的东西可以解决我的问题:)

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过节点在浏览器堆栈中一次测试多个浏览器?

骨干-在控制器中一次调用即可填充多个模型

我们如何在robotframework中一次通过不同的浏览器

MVC是在控制器中一次编辑多个记录的最佳方法是什么

在 Rails 中一次从多个表中获取记录?

在Cassandra中一次插入多个记录

每个浏览器会话一次运行脚本,但最后冻结脚本

如何一次在Google Chrome浏览器中打开多个本地HTML文件?

如何在Python上使用Webbot浏览器一次按下多个键

Selenium Java-如何登录一次并使用同一浏览器实例运行多个测试用例,而是为每个测试打开/关闭浏览器

如何验证每个浏览器点击一次?

浏览器多久轮询一次鼠标位置?

一次关闭所有Chrome浏览器或Firefox浏览器实例

Laravel一次使用单个外键即可获得多个记录

调整浏览点大小时刷新一次浏览器-JQuery

在ASP.NET MVC中一次更新多个记录

有什么方法可以使用Java在BMC Remedy中一次创建多个记录?

如何在Django API中一次更新多个记录(批量更新)

在同一终端中一次运行多个并行命令

在同一jvm中一次运行多个spark实例的最佳实践?

ValueError:无法使用pyspark在spark中一次运行多个SparkContext

如何使用 $wpdb->query 在 WordPress 中一次运行多个查询

在 Visual Studio 中一次运行多个项目仅指定项目

在PowerShell中一次从CSV运行多个搜索以复制项目

如何停止在Python Discord Bot中一次运行多个倒计时?

如何在Python中一次运行多个while循环

如何在 C++ 中一次运行打开多个文件?

在 Dart 中一次运行多个异步请求。合适的方式

CSS选择器-一次触发即可播放多个动画