我正在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上失败?
为什么某些东西可以在两个不同的操作系统上本地工作,然后在Jenkins上失败?
最常见的情况可能是jenkins系统的运行速度较慢,并且您的测试并没有对尝试与页面进行交互之前等待页面完成加载保持高度警惕。詹金斯(Jenkins)机箱通常可能承受沉重的负担,并且如果客户端和服务器都在同一机箱上运行,则两者之一或两者都可能导致问题。
另一个原因可能是您在詹金斯盒子上运行了不同版本的浏览器和/或硒驱动程序。
另一个原因可能是(虚拟?)显示的分辨率不同,从而导致元素移动到不同的位置。
詹金斯盒子上的浏览器可能具有不同的配置文件,从而导致运行的插件或防病毒软件集不同。这些可能会提高页面渲染的速度,或者可能导致覆盖屏幕部分的弹出窗口。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句