由于不同运行之间的规格不匹配,赛普拉斯测试无法在并行模式下运行

问题描述 投票:0回答:1

我们在并行模式下运行赛普拉斯测试时遇到问题。具体来说,当使用不同的标签(如冒烟和回归)启动不同的测试集时,系统会报告规格(测试文件)不匹配,这会导致测试运行失败。

以下是我们正在使用的命令:

  1. 对于烟雾测试:
"test:smoke": "cypress run --browser chrome --record --key <key> --parallel --ci-build-id $BUILD_BUILDNUMBER --env grepTags=\"smoke\",grepFilterSpecs=true",
  1. 对于回归测试:
"test": "cypress run --browser chrome --record --key <key> --parallel --ci-build-id $BUILD_BUILDNUMBER --env grepTags=\"regression\",grepFilterSpecs=true",

问题

尽管指定了单独的测试标签,但赛普拉斯云声称运行之间的规格不匹配,这会导致错误。我们无法对不同的测试集并行运行测试。

我们需要什么帮助:

  • 为什么 Cypress Cloud 会比较不同运行中的测试规范,即使我们为每组测试明确使用不同的标签?
  • 我们如何解决这个问题并成功地对不同的测试集运行并行测试?

回归错误日志(但对于烟雾还可以):

In order to run in parallel mode each machine must send identical environment parameters such as:

 - specs
 - osName
 - osVersion
 - browserName
 - browserVersion (major)

This machine sent the following parameters:

{
  "osName": "linux",
  "osVersion": "Ubuntu - ",
  "browserName": "Chrome",
  "browserVersion": "114.0.5735.198",
  "differentSpecs": {
    "added": [
     .....
    ],
    "missing": [
     ....
    ]
  }
}

到目前为止我们已经尝试过:

  • 对每个测试组使用不同的 Cypress 键(烟雾和回归)。
  • 为每次运行分配唯一的 ci-build-id 值。
  • 确保所有机器上的所有环境配置和浏览器版本一致。
azure parallel-processing azure-pipelines cypress cicd
1个回答
0
投票

同样的问题。 我正在运行回归测试,但 Azure/Cypress Cloud 没有执行新测试,而是返回错误并显示与之前的冒烟测试相关的运行。

The existing run is: https://cloud.cypress.io/projects/{myProjId}

我不确定为什么会发生这种情况。似乎测试没有被正确识别,并且系统一直引用旧的运行。我无法添加新的测试,感觉赛普拉斯只是在查看之前的一次运行。这真的很令人困惑,而且我不知道如何继续开发,因为我无法让新测试正常运行。

© www.soinside.com 2019 - 2024. All rights reserved.