本地运行的测试通过了,但是詹金斯测试失败了。为什么,我该如何解决?

布兰登·奥尔森

我正在Ubuntu Linux VM上运行大量基于python的测试,其中包含大量步骤。当我通过任意数量的方法(通过控制台)手动运行它们时,它们都可以运行并通过。

将它们移植到Jenkins服务器后,三十个故障中有四个故障。我尝试了通常推荐的修复方法-将关键字的等待时间增加到1s每次单击之前-因此我可以肯定这不是时间问题。该网站的加载速度比Windows上的加载速度快得多,我知道它比Linux上的Jenkins加载速度慢。

在谷歌搜索了一个答案之后,我发现无论是在此站点还是其他Q / A网站上,显然没有人提出可接受的答案。

这是我从詹金斯那里收到的错误消息。

ElementNotVisibleException: Message: element not visible
  (Session info: chrome=61.0.3163.79
  (Driver info: chromedriver=2.26.436382 (70eb799289ce4c2208441fc057053a5b07ceabac),platform=Linux 4.10.0-33-generic x86_64)

WebDriverException: Message: unknown error: Cannot read property 'innerHTML' of undefined
  (Session info: chrome=61.0.3163.79
  (Driver info: chromedriver=2.26.436382 (70eb799289ce4c2208441fc057053a5b07ceabac),platform=Linux 4.10.0-33-generic x86_64)

其他两个都是element not visible与第一个相同的例外,两者都发生在Click Button不是测试套件中第一个Click Button关键字的关键字上。第一个发生在Click Element自我编写以来一直运行良好关键字上,最后一个发生在经过反复尝试的JavaScript调用上以获取元素的文本。

为什么某些东西可以在两个不同的操作系统上本地工作,然后在Jenkins上失败?

布莱恩·奥克利(Bryan Oakley)

为什么某些东西可以在两个不同的操作系统上本地工作,然后在Jenkins上失败?

  • 最常见的情况可能是jenkins系统的运行速度较慢,并且您的测试并没有对尝试与页面进行交互之前等待页面完成加载保持高度警惕。詹金斯(Jenkins)机箱通常可能承受沉重的负担,并且如果客户端和服务器都在同一机箱上运行,则两者之一或两者都可能导致问题。

  • 另一个原因可能是您在詹金斯盒子上运行了不同版本的浏览器和/或硒驱动程序。

  • 另一个原因可能是(虚拟?)显示的分辨率不同,从而导致元素移动到不同的位置。

  • 詹金斯盒子上的浏览器可能具有不同的配置文件,从而导致运行的插件或防病毒软件集不同。这些可能会提高页面渲染的速度,或者可能导致覆盖屏幕部分的弹出窗口。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我应该失败的Supertest测试通过了?

smartctl报告总体运行状况测试通过了,但是测试失败了?

为什么我的测试通过了有冲突的断言?

我通过了测试用例,但验证失败,为什么?

为什么该测试通过?

测试失败,并出现Integrity约束违规错误,但是在第一个测试用例中它通过了。为什么?

量角器:存在错误,但测试通过了

未处理的拒绝错误。即使测试通过了

为什么“ 123()”通过了ESLint测试?

尽管 flake8 测试通过了本地开发环境,但 Travis CI 未能通过 flake8 测试?

为什么当测试失败时詹金斯仍然说成功?

当所有单个测试通过时,为什么我的Bazel测试报告失败?

詹金斯:在CentOS中跳过了Spock测试

如何检测我的测试是在一个詹金斯环境中运行?

我的代码通过了测试用例,但是在我提交时显示了错误的答案

为什么rsync对詹金斯失败

为什么加了Thread.sleep让我阿卡TestKit单元测试都通过了?

为什么流畅的断言失败,但是Assert通过了枚举?

尽管单元测试确实通过了,但由于单元测试失败,所以运行了属性测试

当我通过 VPL 运行它时,它通过了 13/16 次测试

Karma Chrome测试在Chrome中失败,但通过了PhantomJS

Spring Boot 通过了应该失败的测试用例

测试通过了TestFX,但不是无头模式

日期格式单元测试失败,在詹金斯,但没有在本地

硒测试在本地有效,但在詹金斯失败

如何在Github中显示我的测试通过/失败?

鼻子测试失败时詹金斯工作失败

即使我抛出错误,摩卡测试也通过了

詹金斯-选择测试