在Ubuntu上启动Firefox时Selenium挂起

问题描述:

我的最终目标是让Selenium在Jenkins内运行。 My Jenkins安装在Ubuntu虚拟机中运行。在Ubuntu上启动Firefox时Selenium挂起

在jenkins selenium设置发生一些问题(源自jenkins运行的用户的权限)之后,我切换到从命令行运行命令以查看发生了什么。我的目标是让测试在这里运行,然后让它在Jenkins中运行。

下面是我目前使用和看到的命令和响应。

[email protected]:~$ 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 [email protected] 
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 [email protected] 
11:19:53.379 INFO - Preparing Firefox profile... 
11:19:55.949 INFO - Launching Firefox... 

Ubuntu虚拟机是不是一个无头的情况下,所以据我所知我不需要安装xvfb的(如在一些博客文章中提到关于同一主题的)。

上对这个问题,我曾与Firefox的配置文件的问题,我用我在这里找到答案的方法固定:Jenkins can't launch selenium tests (Timed out waiting for profile to be created)

Firefox中使用应用程序菜单中的快捷方式启动时打开正常,从刚进入'firefox'在命令行上。

我尝试添加的完整路径Firefox应用程序,在许多方面:

  • 在指令” ...... *火狐/usr/lib/firefox-3.6.20/firefox.sh ...“导致”无法找到HTML Suite文件:/ home/resn/http:/google.com:“ - 它似乎获得与下一个参数混合的Firefox路径
  • 在命令,没有空格'...'firefox/usr/lib/firefox-3.6.20/firefox.sh ...'其中的结果

    “发现HTML套件异常: java.l不支持的浏览器:ang.RuntimeException *火狐/ usr/lib中/中的firefox-3.6.20/firefox.sh

    支持的浏览器包括: *火狐”

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

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

任何想法,提示或调试建议将非常欢迎!

+0

什么是你的Ubuntu版本? –

+0

Ubuntu 10.10。 升级到11会有帮助吗? – mattbilson

+0

我得到这个,我在Fedora 14上运行 – Gary

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

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

+0

一旦你按照安装程序来安装它,把“Xvfb:100 -ac&”放在运行selenium之前运行的shell脚本中。也可以在hudson的管理员设置中添加DISPLAY以添加环境变量。 – Gary

+1

更好的是,使用'xvfb-run'。 – Koterpillar

我有同样的问题也和没有一个解决方案,我发现工作:

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

我做了什么,是尝试手动运行火狐(设置显示后) - 根据我得到的错误:

D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open /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-open-varlibdbusmachine-id