我正在尝试启动并运行Selenium服务器。但是,当我输入:
java -jar selenium-server-standalone-2.0b3.jar
我得到一个例外:
Selenium已在端口4444上运行。或者其他一些服务是。
我试图阻止它,以防它真的在运行:
http://localhost:4444/selenium-server/driver/?cmd=shutDown
这让我得到了消息:
错误服务器异常:sessionId不应为null;这个会议已经开始了吗?
如果我写的话:
我明白了:
HTTP错误:403
禁止代理
想法?
答案 0 :(得分:45)
这对我有用:
http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer
如果selenium服务器已在端口4444上运行,那么它将关闭服务器并说 好的好的 如果selenium没有在这个端口4444上运行,那么通过点击上面的url会给你 “无法连接”
答案 1 :(得分:19)
试试这个:
lsof -i -n -P | grep 4444
和kill
它说的过程是:4444
答案 2 :(得分:14)
一衬垫:
kill -9 $(lsof -ti tcp:4444)
答案 3 :(得分:8)
Selenium提供的错误消息有点令人困惑。它应该告诉你你正在犯一个语法错误。我也有这个问题。确保cmd字符串是这样的:
http://localhost:4444/selenium-server/driver/?cmd=的 shutDownSeleniumServer 强>
这意味着使用完整命令 shutDownSeleniumServer
和确保s
中的shut
为小写(是我的错误)。
希望这有帮助。
答案 4 :(得分:5)
如果您使用的是Windows,则可以打开任务管理器并找到java.exe或javaw.exe进程并将其终止。这将释放端口4444,您应该能够重新启动Selenium服务器。
答案 5 :(得分:5)
要关闭服务器,您可以使用: http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer
它会发出消息OKOK,表示它已关闭。如果服务器没有运行,那么它将显示"此网页不可用"
要检查selenium服务器状态,请使用此选项 http://localhost:4444/selenium-server/driver/?cmd=getLogMessages
如果服务器正在运行,它将给出OK,如果没有运行,那么它将显示不可用的网页
答案 6 :(得分:4)
我遇到了同样的错误,但没有运行任何服务器。 调整了java版本的原因。确保您运行的是java 7或更高版本:
java -version
答案 7 :(得分:1)
我有同样的问题,我启动了我的Jboss AP,我已经部署了我的应用程序,之后尝试运行selenium服务器并且无法启动。问题是Jboss使用的是Selenium服务器使用的相同端口,所以我做的是在另一个端口上启动selenium服务器
解决方案: java -jar selenium-server-standalone-2.0b3.jar -port 1234 -htmlSuite“* firefox”“http:// localhost:8080 /”“套件路径”“结果路径”
答案 8 :(得分:1)
lsof
在我的案例中没有返回任何结果。
在Ubuntu机器上,我必须执行以下操作:
sudo netstat -tapen | grep ":4444 "
回复就像:
tcp6 0 0 XXXXXXXXX:4444 :::* LISTEN 107 31526 **10479**/java
用10479杀死已确定的Selenium服务器进程(在我的情况下)
sudo kill 10479
答案 9 :(得分:1)
在OSX中,如果您按照@HaloWebMaster(lsof -i -n -P | grep 4444
)中的命令执行,则下一步是获取PID(通常是一个指示进程ID的4 - 5位数字)并运行以下命令:
kill -9 <PID>
除非该进程是由其他用户或root启动的,否则您不应该使用sudo。
答案 10 :(得分:1)
如果您使用Java启动Selenium(而不是通过您可能使用或未使用的任何测试框架),您可以使用以下命令终止所有剩余的Selenium实例:
pkill java
保证杀死任何java遗物(包括硒如果以这种方式启动) - 但在这里要小心 - 请注意,你可能也会杀死其他过程(由于pkill的工作方式)。在我的情况下,我想杀死在JVM中运行的任何东西,所以这解决了它。
根据Goldberg的评论,请注意,这不会杀死系统上运行的任何驱动程序服务或浏览器!
答案 11 :(得分:0)
如果您在127.0.01:4444上收到403错误而不是404错误,则会在那里运行。 (你是肯定的,它不能是以前的实例Selenium?它是最合乎逻辑的。)
有时Selenium会在意外退出后继续在后台运行。我建议检查正在运行的进程,或者如果其他一切都失败则重启机器。
当Hudson要求Selenium-Server运行一些测试并且由于某些原因它在中间失败时,我经常遇到这种情况。杀死这个过程解决了这个问题。
答案 12 :(得分:0)
ERROR Server Exception: sessionId should not be null; has this session been started yet?
消息来自Selenium。如果您正在查看它,则会在该端口号上运行Selenium服务器。
答案 13 :(得分:0)
如果以上所有方法均无效,请保存您的工作并重新启动系统。它将解决问题
答案 14 :(得分:0)
谢谢,
安德烈的链接对我来说很好。
由于4444是Selenium的默认端口,因此请检查它。