java - Jenkins 构建失败并且浏览器未在 Linux 上启动但在本地计算机上运行

标签 java linux selenium jenkins

我可以从我的本地机器 (WindowsA) 成功运行我的 selenium webdriver 测试,我现在想使用 Jenkins(机器 B)运行我的测试。对于我的 webdriver 测试,我看到 Jenkins 的以下输出

org.openqa.selenium.WebDriverException: 
Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows: 
Error: no display specified

我已确保浏览器和 selenium 版本匹配。我认为这是我的 Jenkins(linux) 机器的问题。我的 Linux 机器上也有 Xvfb。我读过文章提到浏览器可能以 HEADLESS 模式运行,但看到其他人正在使用 Jenkins,我在进行任何更改之前保持谨慎。

最佳答案

看起来您正在尝试在不指定 DISPLAY 的情况下运行测试从我在你的问题中读到的内容,我不确定你是否真的在使用 Xvfb,也不确定“机器 B”是否有 X 服务器。好吧,如果机器 B 没有 X 服务器,你需要运行 Xvfb 来模拟一个,然后你需要将 $DISPLAY 环境变量设置为 Xvfb 服务器将监听的值,最后你可以运行 Selenium 驱动程序。一个例子:

# The Xvfb server will listen for connections as server number 4
Xvfb :4 &
# set $DISPLAY value to the one defined in your Xvfb server instance
export DISPLAY=:4
# run the selenium driver
java -jar /path/to/your/driver/selenium-server-standalone-2.44.0.jar

关于java - Jenkins 构建失败并且浏览器未在 Linux 上启动但在本地计算机上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34750019/

相关文章:

.net - 在 Linux/Ubuntu 上大规模部署 .net mono 应用程序

sql - 从文件创建数组

java - 如何以编程方式从扩展名为 .html 的网页下载 pdf 文件?

java - 将方程转化为代码

java - 应该优先使用Java 9 Cleaner而不是定稿吗?

java - Class as Hashtable 键——这是个好主意吗?

java - java中对象的接口(interface)类型映射

c++ - 找不到 boost 库

java - 在哪里可以找到权威的 Selenium WebDriver 到 Firefox 兼容性矩阵?

java - Selenium, headless 和非 headless 之间切换