Java 在Ubuntu上启动Firefox时,Selenium挂起

Java 在Ubuntu上启动Firefox时,Selenium挂起,java,firefox,ubuntu,selenium,selenium-grid,Java,Firefox,Ubuntu,Selenium,Selenium Grid,我的最终目标是让Selenium在Jenkins内部运行。 我的Jenkins安装在Ubuntu虚拟机中运行 在jenkins selenium设置出现一些问题(源于jenkins运行的用户的权限)后,我切换到从命令行运行命令,以查看发生了什么。我的目标是让测试在这里运行,然后让它在Jenkins内部工作 这是我目前正在使用和看到的命令和响应 resn@resn-VirtualBox:~$ sudo java -jar /var/lib/jenkins/tools/selenium/seleni

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

在jenkins selenium设置出现一些问题(源于jenkins运行的用户的权限)后,我切换到从命令行运行命令,以查看发生了什么。我的目标是让测试在这里运行,然后让它在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虚拟机不是一个无头的实例,所以我不需要安装xvfb(正如在同一主题的一些博客文章中提到的)

在这个问题之前,我对Firefox配置文件有一个问题,我用我在这里回答的方法解决了这个问题:

使用“应用程序”菜单中的快捷方式启动Firefox时,Firefox打开良好,而不只是在命令行中输入“Firefox”

我曾尝试通过多种方式向Firefox应用程序添加完整路径:

  • 在命令“*firefox/usr/lib/firefox-3.6.20/firefox.sh…”这会导致“找不到HTML套件文件:/home/resn/http:/google.com:”-看起来firefox路径与下一个参数混淆了
  • 在命令中,不带空格“…”firefox/usr/lib/firefox-3.6.20/firefox.sh…”将导致

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

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

  • 在grid_configuration.yml'中。。。浏览器:“*firefox/usr/lib.firefox-3.6.20/firefox.sh”。没有任何影响
此外,由于进程只是挂起,实际上并没有失败,因此不会创建日志文件(/tmp/selenium.log)


欢迎提出任何想法、提示或调试建议

问题似乎是在无头环境中运行时出现的。如果没有用于渲染浏览器的窗口,它将挂起。您可以通过在ssh到您的机器中时粘贴相同的命令来测试这一点,但可以改为使用ssh-Xme@server.com

我找到了关于如何修复此问题的文档:

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

  • firefox可执行文件路径没有问题
  • 无头显示器已经在运行
  • 浏览器配置文件没有问题
我所做的,是尝试手动运行firefox(在设置显示后)-我得到了错误:

D-总线库似乎设置不正确;读取计算机uuid失败:无法打开/var/lib/dbus/machine id

我不知道这个问题是怎么突然出现的,但解决起来相对简单:

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


根据Ubuntu 10.10。升级到11会有帮助吗?我明白了,我正在Fedora 14上运行一旦你按照安装程序安装了它,在selenium运行之前在shell脚本中运行“Xvfb:100-ac&”。还可以在hudson的管理设置中显示要添加的环境变量。