尽管我非常喜欢 Cypress,但它开始变得非常糟糕。我不认为我会做一些根本错误的事情。我已经阅读了好几遍最佳实践,但我看不到我真正可以改进的地方。
它开始变得相当令人沮丧。让测试在本地机器上完美运行(尝试连续多次运行),但是当相同的代码通过 CI(当前是 Bitbucket Pipelines)运行时,一些测试由于奇怪的原因而失败。
例如,单击列表中的一个项目会在购物车中添加一个项目。工作完美,但我试图打破它,但 CI 中的相同测试由于某种原因使点击发生两次。这是我至少能够描述的一个问题。其他的则乱七八糟,而且经常随机发生,就像那个元素是不可见的,但看着屏幕截图我可以看到一切正常。
我尝试使用 cypress-failed-log
插件来查看命令日志,但这并没有真正帮助,因为它与我在本地看到的是一样的,但它在 CI 中失败了。我在 Cypress Dashboard 中看到的视频也没有太大帮助,因为它通常太快了,有些东西甚至在那里都看不到。
有人可以就如何更优雅地处理手头的问题给我一些其他选择吗?我必须承认,我正处于放弃这些测试的边缘,因为让它们变得可靠需要太多时间。
关于我的设置的一些细节:
cypress-failed-log@2.5.0
cypress-testing-library@3.0.1
cypress@3.3.1
# job definition for running E2E tests in parallel
e2e: &e2e
name: E2E tests
image: cypress/browsers:chrome67-ff57
caches:
- yarn
- home-cache
script:
- yarn -v
- cd cypress
- yarn install --frozen-lockfile
- npx @bahmutov/print-env BITBUCKET
- yarn ci --parallel --ci-build-id $BITBUCKET_BUILD_NUMBER
最佳答案
奇怪,你们做本地测试的时候用的是同一个浏览器吗? 您使用了额外的 npm 包,也许您可以删除所有非必需品并重试?
关于javascript - Cypress 测试在本地是绿色的,但在 CI 中失败 - 调试提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56613024/