Jenkins无法启动selenium测试(等待创建配置文件超时)

时间:2011-08-18 11:53:42

标签: java ubuntu continuous-integration selenium-rc jenkins

詹金斯无法启动硒测试(ubuntu) 错误

11:26:24.652 INFO - 已开始使用org.openqa.jetty.jetty.Server@ab50cd 11:26:24.738 INFO - 准备Firefox个人资料... 看到HTML套件异常: java.lang.RuntimeException:等待创建配置文件超时!     在org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.waitForFullProfileToBeCreated(FacefoxChromeLauncher.java:360)     在org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.populateCustomProfileDirectory(FirefoxChromeLauncher.java:114)     在org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launch(FirefoxChromeLauncher.java:83)     在org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launchHTMLSuite(FirefoxChromeLauncher.java:405)     在org.openqa.selenium.server.browserlaunchers.FirefoxLauncher.launchHTMLSuite(FirefoxLauncher.java:105)     在org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite(HTMLLauncher.java:121)     在org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite(HTMLLauncher.java:166)     在org.openqa.selenium.server.SeleniumServer.runHtmlSuite(SeleniumServer.java:556)     在org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:241)     在org.openqa.selenium.server.SeleniumServer.main(SeleniumServer.java:201)     在org.openqa.grid.selenium.GridLauncher.main(GridLauncher.java:40)

OS - Ubuntu工作站11 詹金斯& Selenium - 最新版本(按照在网站上编写的方式安装)

在我看来,用户jenkins并没有所有的权利,因为如果我使用相同的行在终端执行,它的工作原理selenium启动Firefox&做套房。

我还将jenkins用户放在groop root中,但它也无济于事。

我没有资格使用Linux,但似乎麻烦在于jenkins用户的权利,但我可能会误会。

如果有人解决了问题,请编写解决方案。

3 个答案:

答案 0 :(得分:8)

我最近也有这个问题。

我首先尝试了这里提到的方法:http://www.spacevatican.org/2008/9/27/selenium-and-firefox-3但是这个修复现在看起来已经过时了,因为插件的maxVersion属性都被设置为8.something。

我修复它的方式(如这里提到的:http://www.centripetal.ca/blog/2011/02/07/getting-started-with-selenium-and-jenkins/)是为Selenium提供firefox配置文件。

步骤

  1. 打开Firefox个人资料管理器:$ firefox -ProfileManager
  2. 创建一个名为Selenium的新配置文件
  3. 现在,在运行selenium命令时,将“-firefoxProfileTemplate”/home/{username}/.mozilla/firefox/{profile dir}添加到命令中。(其中{username}是您的用户名和{profile dir}是个人资料目录,对我来说是“6f2um01h.Selenium”
  4. 我最后的Selenium命令是

    $ sudo java -jar /var/lib/jenkins/tools/selenium/selenium-server.jar -htmlSuite *firefox http://google.com "/var/lib/jenkins/jobs/Selenium setup test/workspace/tests/test-testsuite.html" "/var/lib/jenkins/jobs/Selenium setup test/workspace/results/results.html" -log=/tmp/selenium.log -debug=true -firefoxProfileTemplate "/home/username/.mozilla/firefox/6f2um01h.Selenium"
    

    我还建议将jenkins正在使用的shell命令复制并粘贴到终端中,以保存每次都必须通过Jenkins运行它。


    N.B。我现在发现Selenium现在挂起(并且不会崩溃)它的下一步(启动Firefox),但这似乎是我在这里添加到stackoverflow的另一个错误:Selenium hangs when launching Firefox on Ubuntu

答案 1 :(得分:0)

我有类似的问题。但原因和解决方案不同。

程序(我使用python)暂停一段时间,然后输出:

  

selenium.common.exceptions.WebDriverException:消息:'浏览器   在我们连接之前似乎已经退出。输出结果是: *   LOG addons.xpi:startup \ n * LOG addons.xpi:checkForChanges \ n *** LOG   addons.xpi:打开数据库\ n *** LOG addons.xpi:没有变化   发现\ n无法dlopen /usr/lib/libX11.so.6\ndlerror说:   /usr/lib/libX11.so.6:错误的ELF类:ELFCLASS32 \ n'

这是因为我安装了32位和64位版本的libX11。通过删除libX11 32位版本,程序可以正常工作。

答案 2 :(得分:0)

@ mattbilson的解决方案对我不起作用,但我找到了一个解决同一个symtomps问题的不同解决方案。我相信在尝试调试问题的过程中,已经安装了多个版本的Firefox,而不是全部来自干净的deb软件包。

解决我遇到的问题:

sudo apt-get purge firefox
sudo mv /usr/lib/firefox /usr/lib/firefox.bak
sudo apt-get install firefox=<MY_FIREFOX_VERSION>

之后我可以在没有任何特殊参数的情况下运行Selenium JAR。