gpt4 book ai didi

jenkins - 本地运行的测试通过,但 Jenkins 测试失败;为什么,我该如何解决这个问题?

转载 作者:行者123 更新时间:2023-12-03 19:37:14 25 4
gpt4 key购买 nike

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

在我将它们移植到 Jenkins 服务器后,三十个中有四个失败了。我尝试了通常推荐的修复 - 将关键字工作的等待时间增加到 1s在每次点击之前 - 所以我很确定这不是时间问题。该站点的加载速度比在 Windows 上快得多,我知道这比在 Linux 上的 Jenkins 慢。

在谷歌上搜索了一下答案后,我发现显然没有人提出可接受的答案,无论是在本网站还是其他问答网站上。

这是我从 Jenkins 收到的错误消息。

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 上失败?

最佳答案

Why would something work locally on two different operating systems and then fail on Jenkins?


  • 最常见的可能是 jenkins 系统运行速度较慢,并且您的测试在尝试与其交互之前并没有对等待页面完成加载保持高度警惕。 Jenkins 机器通常会承受沉重的负载,如果客户端和服务器都在同一个机器上运行,则其中一个或两个都可能导致问题。
  • 另一个原因可能是您在 jenkins 机器上运行不同版本的浏览器和/或 selenium 驱动程序。
  • 另一个原因可能是(虚拟?)显示器的分辨率不同,导致元素移动到不同的位置。
  • jenkins box 上的浏览​​器可能有不同的配置文件,导致运行不同的插件或防病毒软件。这些可能会影响页面呈现的速度,或者可能导致覆盖屏幕部分的不需要的弹出窗口。
  • 关于jenkins - 本地运行的测试通过,但 Jenkins 测试失败;为什么,我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46919431/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com