就我喜欢赛普拉斯而言,结果开始变得非常糟糕。我认为我不会做根本上错误的事情。我已经读过几次最佳实践,但是我看不出我可以真正改善什么。
开始令人沮丧。使测试在本地计算机上运行完美(尝试在行中多次运行),但是当相同的代码通过CI(当前是Bitbucket管道)运行时,由于奇怪的原因,有几次测试失败。
例如,单击列表中的某个项目将在购物车中添加一个项目。效果很好,但是我尝试打破它,但是由于某些原因,在CI中进行的相同测试使该点击两次发生。这是我至少可以描述的一个问题。其他人则不知所措,并且经常随机发生,就像该元素不可见,但查看屏幕截图我就可以看到。
我尝试使用cypress-failed-log
插件查看命令日志,但这并没有真正的帮助,因为这与我在本地看到的一样,但是在CI中失败。我在赛普拉斯仪表板中看到的视频也没有帮助,因为它通常太快并且甚至看不到某些东西。
有人可以建议我一些其他方法来更优雅地解决当前问题吗?我必须承认,我即将放弃这些测试,因为要使它们可靠需要太多时间。
有关我的设置的一些详细信息:
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 :(得分:0)
很奇怪,您进行本地测试时会使用同一浏览器吗? 您可以使用其他npm软件包,也许可以删除所有非必需内容并重试?
答案 1 :(得分:0)
Cypress 3.3.0声称可以修复缓慢的网络请求。这可能与CircleCI测试失败有关。
在赛普拉斯3.1.4中,@ danielschwartz85报告说,他们在发出正常的提取请求时发现网络运行缓慢。如此糟糕,以至于他们报告Cypress的加载时间为5.5秒,而常规浏览器为300毫秒-在此测试用例中,Cypress的HTTP请求运行速度比Chrome浏览器慢18倍。 赛普拉斯的很大一部分是它的行为应与普通的Web浏览器相似,因此这是一个主要问题。用户期望赛普拉斯“表现得像Chrome”,而不是“表现得像Chrome,但慢18倍”。因此,我们着手研究这种缓慢的原因。