5

在被杀死一次后,selenium 服务器会挂起所有进一步的启动,甚至没有尝试获取服务器端口。

重新启动可以解决问题。以不同的用户身份运行也会使 selenium 再次启动,但在进程被终止后,它将不再工作。

这是在 VirtualBox VM 中的 Linux 2.6.32-5-amd64(debian 挤压)上。查看系统调用的日志,当它工作时,当它不工作时,某些组件似乎在套接字被绑定之前就锁定了。硒日志没有太大帮助。

输出也没有给出任何指示:

$ java -jar selenium-server-standalone-2.28.0.jar
Dec 27, 2012 5:41:35 PM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
17:41:35.703 INFO - Java: Sun Microsystems Inc. 14.0-b16
17:41:35.704 INFO - OS: Linux 2.6.32-5-amd64 amd64
17:41:35.737 INFO - v2.28.0, with Core v2.28.0. Built from revision 18309
17:41:35.867 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
17:41:35.868 INFO - Version Jetty/5.1.x
17:41:35.868 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
17:41:35.869 INFO - Started HttpContext[/selenium-server,/selenium-server]
17:41:35.869 INFO - Started HttpContext[/,/]
4

1 回答 1

11

这是一个Java问题;它的 RNG 不必要地从/dev/random. 在 VM 上,随机池是有限的,并且经常在一两次运行后耗尽。出于某种原因,selenium/Jetty 启动的一部分要求有问题的 RNG。要解决此问题,建议使用 Java/dev/urandom代替

java -Djava.security.egd=file:/dev/./urandom \
     -jar selenium-server-standalone-2.28.0.jar

工作正常。

于 2012-12-27T16:46:53.033 回答