【问题标题】:Cypress tests are green locally, but failing in CI - tips on debugging?赛普拉斯测试在本地是绿色的,但在 CI 中失败 - 调试提示?
【发布时间】:2019-10-29 23:13:50
【问题描述】:

尽管我很喜欢赛普拉斯,但它开始变得非常糟糕。我不认为我会做一些根本错误的事情。我已经阅读了几次最佳实践,但我看不出我真正可以改进什么。

这开始变得相当令人沮丧。让测试在本地机器上完美运行(尝试连续运行多次),但是当相同的代码通过 CI(目前是 Bitbucket 管道)运行时,一些测试由于奇怪的原因而失败。

例如,单击列表中的一个项目会在购物车中添加一个项目。完美运行,但是我试图打破它,但 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

【问题讨论】:

  • 我们尝试过使用 dockers,效果很流畅
  • 我不关注。你的意思是你已经在 Docker 中运行了测试?这究竟是如何帮助您调试测试片状的?
  • 是的,我们正在构建服务器中使用 docker 运行测试。我们在 cypress.json 中为视频配置了允许使用点播观看视频。
  • 我在headed/headless 模式下尝试了Cypress 的多个版本,而且总是在某些情况下。在本地工作完全正常,但在GitLab CI...

标签: javascript continuous-integration e2e-testing cypress


【解决方案1】:

奇怪,您在进行本地测试时使用相同的浏览器吗? 您使用额外的 npm 包,也许您可​​以删除所有非必需品并重试?

【讨论】:

    【解决方案2】:

    Cypress 3.3.0 声称可以修复缓慢的网络请求。这可能与 CircleCI 测试失败有关。

    在 Cypress 3.1.4 中,@danielschwartz85 报告说他们在发出正常的 fetch 请求时发现网络缓慢。太糟糕了,他们在 Cypress 中报告了 5.5 秒的加载时间,而在常规浏览器中为 300 毫秒 - 对于这个测试用例,Cypress 中的 HTTP 请求运行速度比 Chrome 中慢 18 倍。 Cypress 的很大一部分是它应该像普通的网络浏览器一样运行,所以这是一个主要问题。用户期望赛普拉斯“表现得像 Chrome”,而不是“表现得像 Chrome,但要慢 18 倍”。因此,我们着手调查这种缓慢的根源。

    https://docs.cypress.io/guides/references/changelog.html

    【讨论】:

    • 我想这可能是原因之一,但绝对不是全部。如果 CI 中的 Cypress 单击两次而不是一次,则很难将其推理为网络问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 2023-02-04
    • 1970-01-01
    • 2021-04-26
    • 2021-11-14
    • 1970-01-01
    相关资源
    最近更新 更多