代码之家  ›  专栏  ›  技术社区  ›  FredyC

Cypress测试在本地是绿色的,但是调试的CI提示失败了?

  •  0
  • FredyC  · 技术社区  · 7 年前

    尽管我很喜欢柏树,结果却开始变得很糟糕。我不认为我会做一些根本性的错误。我读过几次最佳实践,但我看不出有什么可以改进的。

    这开始让人相当沮丧。如果测试在本地机器上运行得很好(在一行中尝试运行了几次),但是当相同的代码在CI(当前的Bitbucket管道)中运行时,由于奇怪的原因,有几个测试失败了。

    例如,单击列表中的某个项目会在购物车中添加一个项目。很好的工作,但我试图打破它,但同一个测试在CI使点击发生两次那里有一些原因。这是我至少能描述的一个问题。其他的是不正常的,经常发生的只是随机的,就像元素是不可见的,但看看截图,我可以看到很好。

    我试着用 cypress-failed-log 插件来查看命令日志,但这并没有真正的帮助,因为这和我在本地看到的一样,但它在CI中失败了。我在Cypress仪表板上看到的视频也没那么有用,因为它通常速度太快,有些东西甚至在那里看不到。

    有人能告诉我一些其他的选择,如何更优雅地处理手头的问题吗?我必须承认,我正处于放弃这些测试的边缘,因为要让它们变得可靠需要太多的时间。


    有关我的设置的一些详细信息:

    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
    
    0 回复  |  直到 7 年前
        1
  •  0
  •   KMO    7 年前

    奇怪的是,你在做本地测试时用的是同一个浏览器吗? 你使用了额外的npm软件包,也许你可以删除所有的非必需品,然后再试一次?

        2
  •  0
  •   GonzaSSH    7 年前

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

    在Cypress3.1.4中,@danielschwartz85报告说,他们在发出正常的fetch请求时发现网络速度缓慢。很糟糕的是,他们报告在Cypress中的加载时间为5.5秒,而在普通浏览器中为300秒——在这个测试用例中,Cypress中的HTTP请求运行速度比Chrome中慢18倍。 Cypress的很大一部分是它应该像普通的web浏览器一样工作,所以这是一个主要问题。用户希望Cypress“表现得像Chrome”,而不是“表现得像Chrome,但速度慢了18倍”。所以,我们开始调查这种缓慢的根源。

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