【问题标题】:Selenium with Xvfb and Jenkins throws TimeoutExceptionSelenium 与 Xvfb 和 Jenkins 抛出 TimeoutException
【发布时间】:2013-07-22 07:21:17
【问题描述】:

我正在尝试在 Linux 服务器上使用 Jenkins 设置自动 Selenium 测试。 问题是所有测试都失败了:

org.openqa.selenium.TimeoutException: 等待 By.linkText 定位的元素可见性 60 秒后超时

每个测试都以预期的第一个元素失败。 Jenkins 安装了 Xvfb 插件,从控制台消息来看它似乎可以工作:

Xvfb 起始$ /usr/bin/Xvfb :1 -screen 0 1024x768x24

我尝试增加超时时间,但似乎不是问题所在。 测试在 windows 和带显示的 linux 系统上运行良好。

问题是我无法直接访问服务器,因此在向系统管理员发出请求之前,我会尝试探索所有可能性。

要运行测试,使用了两个项目,似乎都部署得很好,但是当测试开始时,它就像一个项目(后端)没有部署并且找不到一些 URL,从这里超时异常。我不太确定 Jenkins 在这种情况下的表现如何,以及它是否一次启动一个项目。

有什么想法吗?非常感谢!

【问题讨论】:

  • 这是您测试中的第一个命令 - 通过 link.text 查找元素吗?
  • 是的,它正在等待元素“登录”的可见性,我想由于 404 Not Found 异常,它永远不会显示。问题是当尝试从后端访问某些 URL 时,我得到 404 异常。我不明白为什么 URL 不可用...
  • 我现在有同样的问题 - 它正在寻找一个存在的链接,当我在 Windows 上运行测试时它很好,但在服务器上它在测试中间找不到这个链接案子。很烦人。你找到解决办法了吗?
  • 对不起,还没有,如果我找到解决方案,我一定会发布解决方案...
  • 好吧,我解决了我的问题,从 0 开始完全重写测试,使用不同的方法和不同的标识符(ID 而不是名称,或者相反):)

标签: selenium jenkins xvfb


【解决方案1】:

要在测试尝试访问被测应用程序时检查它是否正在运行,您可以通过ssh连接到测试机器,并在测试运行时截屏:

xwd -root | convert xwd:- capture.png

http://inspirated.com/2007/04/02/howto-use-xwd-for-screenshots

【讨论】:

    猜你喜欢
    • 2020-10-06
    • 2022-01-16
    • 2012-10-21
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    相关资源
    最近更新 更多