Selenium在Ubuntu上启动Firefox时挂起

我的最终目标是让Selenium在Jenkins内部运行。 我的Jenkins安装在Ubuntu虚拟机中运行。

在jenkins selenium安装程序出现了一些问题(源于jenkins运行的用户的权限)后,我切换到从命令行运行命令以查看发生了什么。 我的目标是让testing在这里运行,然后在Jenkins中运行。

这是我目前正在使用和看到的命令和响应。

resn@resn-VirtualBox:~$ 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/resn/.mozilla/firefox/6f2um01h.Selenium" 23/08/2011 11:19:51 AM org.openqa.grid.selenium.GridLauncher main INFO: Launching a standalone server 11:19:52.172 INFO - Java: Sun Microsystems Inc. 19.0-b09 11:19:52.173 INFO - OS: Linux 2.6.35-28-generic i386 11:19:52.223 INFO - v2.4.0, with Core v2.4.0. Built from revision 13337 11:19:52.488 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub 11:19:52.491 INFO - Version Jetty/5.1.x 11:19:52.491 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver] 11:19:52.501 INFO - Started HttpContext[/selenium-server,/selenium-server] 11:19:52.501 INFO - Started HttpContext[/,/] 11:19:52.520 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@15b7986 11:19:52.521 INFO - Started HttpContext[/wd,/wd] 11:19:52.530 INFO - Started SocketListener on 0.0.0.0:4444 11:19:52.530 INFO - Started org.openqa.jetty.jetty.Server@54172f 11:19:53.379 INFO - Preparing Firefox profile... 11:19:55.949 INFO - Launching Firefox... 

Ubuntu虚拟机不是一个无头的实例,所以AFAIK我不需要安装xvfb(就像在同一主题的一些博客文章中提到的那样)。

在这个问题之前,我遇到了一个Firefoxconfiguration文件的问题,我使用我在这里回答的方法修复了这个问题: Jenkins无法启动seleniumtesting(超时等待configuration文件被创build)

使用“应用程序”菜单中的快捷方式启动Firefox,并在命令行中input“firefox”即可打开Firefox。

我试过用很多的方法给Firefox应用程序添加完整的path:

  • 在命令“… * firefox /usr/lib/firefox-3.6.20/firefox.sh …”中导致“无法findHTML Suite文件:/ home / resn / http:/google.com :“ – 它似乎得到了与下一个参数混合起来的Firefoxpath
  • 在命令中,没有空格“…”firefox / usr / lib / firefox-3.6.20 / firefox.sh …“

    “看到HTML套件exception:java.lang.RuntimeException:浏览器不支持:* firefox / usr / lib / firefox-3.6.20 / firefox.sh

    支持的浏览器包括:* firefox“

  • 在grid_configuration.yml中…浏览器:“* firefox /usr/lib.firefox-3.6.20/firefox.sh”。 这没有任何影响。

另外,由于进程只是挂起,并没有真正失败,所以不会创build日志文件(/tmp/selenium.log)。

任何想法,提示或debuggingbuild议将非常欢迎!

这个问题似乎是在无头环境下运行的。 如果你没有窗口来渲染你的浏览器,它会挂起。 你可以通过在你的机器上粘贴相同的命令来测试,而是使用ssh -X me@server.com

我发现这个文件,你可以做什么来解决这个问题: http : //www.alittlemadness.com/2008/03/05/running-selenium-headless/

我也有同样的问题,我找到的解决方案都没有工作:

  • 没有问题的Firefox可执行文件路径
  • 无头显示已经在运行
  • 浏览器配置文件没有问题

我所做的就是尝试手动运行firefox(在设置DISPLAY之后) – 我得到这个错误:

D-Bus库似乎设置不正确; 未能读取机器uuid:无法打开/ var / lib / dbus / machine-id

我不知道这个问题是如何发生的,但是修复起来相对简单:

dbus-uuidgen> / var / lib / dbus / machine-id

根据http://www.torkwrench.com/2011/12/16/d-bus-library-appears-to-be-incorrectly-set-up-failed-to-read-machine-uuid-failed-to-开放式varlibdbusmachine-ID