【问题标题】:Jenkins - Selenium WebDriver Firefox error - Failed to connectJenkins - Selenium WebDriver Firefox 错误 - 无法连接
【发布时间】:2015-06-22 13:47:01
【问题描述】:

我在 CentOS 机器上安装了 Jenkins。

我安装了所有必需的插件,配置了我的 Jenkins 项目。

Jenkins 在本地机器(Selenium 2.44/Firefox 31)上使用 firefox 运行测试。 没有 RC 控件或 XVFB 插件。

X 服务器启动,DISPLAY 设置为 0.0

  • 源代码,来自 SVN 仓库
  • 我使用 ANT 构建

一切正常,测试与 Jenkins 一起正常运行。而现在,从某一天到另一天,所有的测试都无缘无故地失败了。我没有更改任何配置。

[mkdir] Created dir: /var/lib/jenkins/jobs/myTestProject/workspace/report
[mkdir] Created dir: /var/lib/jenkins/jobs/myTestProject/workspace/report/xml
[junit] Running test.TestConnection
[junit] Tests run: 1, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 46,24 sec
[junit] Error: 
[junit] org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
[junit] Error: no display specified
[junit] Error: no display specified
[junit] 
[junit]     at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
[junit]     at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
[junit]     at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114)
[junit]     at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:193)
[junit]     at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
[junit]     at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
[junit]     at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)
[junit]     at tools.WebDriverInitHelper.initDriver(Unknown Source)
[junit]     at tools.TestBase.before(Unknown Source)
[junit]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[junit]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[junit]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[junit]     at java.lang.reflect.Method.invoke(Method.java:606)
[junit]     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
[junit]     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[junit]     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
[junit]     at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
[junit]     at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
[junit]     at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
[junit]     at org.junit.rules.RunRules.evaluate(RunRules.java:20)
[junit]     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
[junit]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
[junit]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
[junit]     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
[junit]     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
[junit]     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
[junit]     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
[junit]     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
[junit]     at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
[junit]     at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
[junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:532)
[junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1179)
[junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1030)

我不明白发生了什么。 Firefox 尚未更新。

你有什么建议吗?

【问题讨论】:

  • 看这个帖子stackoverflow.com/questions/24653127/…>
  • 谢谢,但事实是我想在 Jenkins 机器上启动测试,而不是使用 Xvfb 插件或 RC。
  • 环境变量$DISPLAY的值是多少?尝试在您的构建中输出它以验证它是否设置为 0.0,并检查 X 服务器是否在相同的显示编号下运行。如果需要,您可以在 Jenkins 的作业配置中设置 env var

标签: linux firefox selenium ant jenkins


【解决方案1】:

我找到了解决方案:Error: cannot open display: :0 for Selenium tests

1.打开位于 /etc/init.d/jenkins 的 Jenkins shell 脚本。

2.在PATH变量前添加如下几行:

  • /usr/bin/X :0 vt7 -ac

  • 导出 DISPLAY=:0

  • xhost +

【讨论】:

    猜你喜欢
    • 2013-03-26
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 2015-09-26
    • 2019-03-15
    • 1970-01-01
    相关资源
    最近更新 更多