Selenium 硒:无效;已经开始运行了”;启动服务器时出错

Selenium 硒:无效;已经开始运行了”;启动服务器时出错,selenium,Selenium,我正在尝试让Selenium服务器启动并运行。但是,当我键入时: java -jar selenium-server-standalone-2.0b3.jar 我得到一个例外: Selenium已在端口4444上运行。或者其他一些服务是 我试图阻止它,以防它真的在运行: 这给了我一个信息: 错误服务器异常:sessionId不应为null;这个会议已经开始了吗 如果我只是写: 我得到: HTTP错误:403 禁止代理 想法?试试这个: lsof -i -n -P | grep 4444

我正在尝试让Selenium服务器启动并运行。但是,当我键入时:

java -jar selenium-server-standalone-2.0b3.jar
我得到一个例外:

Selenium已在端口4444上运行。或者其他一些服务是

我试图阻止它,以防它真的在运行:

这给了我一个信息:

错误服务器异常:sessionId不应为null;这个会议已经开始了吗

如果我只是写:

我得到:

HTTP错误:403
禁止代理

想法?

试试这个:

lsof -i -n -P | grep 4444

而且
kill
它说的进程是开启的:4444

如果你在127.0.01:4444上得到一个403错误,而不是404错误,那么那里正在运行。(您肯定它不可能是以前的实例吗?这将是最符合逻辑的。)

有时,Selenium会在意外退出后继续在后台运行。我建议检查正在运行的进程,或者在其他一切都失败的情况下重新启动机器


当HulsEN请求SeleServer运行一些测试时,它经常发生在中间,但由于某些原因,这在我身上经常发生。终止进程可以解决问题。

错误服务器异常:sessionId不应为null;此会话是否已启动?消息来自Selenium。如果您看到它,该端口号上运行着一个Selenium服务器。

如果您使用的是Windows,您可以打开任务管理器,找到java.exe或javaw.exe进程并将其杀死。这将释放端口4444,您应该能够重新启动Selenium服务器。

如果以上所有操作都不起作用,请保存您的工作并重新启动系统。它将解决问题

我也遇到了同样的问题,我在部署应用程序的地方启动了Jboss AP,之后尝试运行selenium服务器,但无法启动。问题是Jboss使用的端口与Selenium服务器使用的端口相同,所以我所做的是在不同的端口上启动Selenium服务器

解决方案:

java -jar selenium-server-standalone-2.0b3.jar -port 1234 -htmlSuite "*firefox" "http://localhost:8080/" "path to the suite" "path to the results"

Selenium提供的错误消息有点混乱。它真的应该告诉你你正在犯语法错误。我也有这个问题。确保cmd字符串与以下内容完全相同:

关闭SeleniumServer

这意味着使用full命令
shutDownSeleniumServer
,并且确保
shut
中的
s
是小写的(这是我的错误)

希望这能有所帮助。

这对我来说很有用:

如果selenium服务器已经在端口4444上运行,那么它将关闭服务器并显示 好的 如果selenium没有在这个端口4444上运行,那么通过点击上面的url将为您提供 “无法连接”

谢谢

安德烈的链接对我来说很好


由于4444是Selenium的默认端口,请检查此端口。

lsof
在我的情况下未返回任何结果

在Ubuntu机器上,我必须执行以下操作:

sudo netstat -tapen | grep ":4444 "
答复如下:

tcp6       0      0 XXXXXXXXX:4444       :::*                    LISTEN      107        31526       **10479**/java
并杀死用10479标识的Selenium服务器进程(在我的例子中)

sudo kill 10479

在OSX中,如果您遵循@HaloWebMaster(
lsof-i-n-p | grep 4444
)的命令,则下一步是获取PID(通常是指示进程ID的4-5位数字)并运行以下命令:

kill-9


除非进程是由另一个用户或root用户启动的,否则您不需要sudo

要关闭服务器,您可以使用:

它将发出消息OKOK,表示它已关机。如果服务器未运行,则会显示“此网页不可用”

要检查selenium服务器状态,请使用以下命令


如果服务器正在运行,它将给出OK,如果没有运行,它将显示网页不可用

我有相同的错误,但没有服务器在运行。 调出java版本是原因之一。确保您正在运行java 7或更高版本:

java -version
一艘班轮:


kill-9$(lsof-ti-tcp:4444)

如果您使用Java启动了Selenium(而不是通过您可能使用或可能不使用的任何测试框架),那么您可以使用以下方法杀死所有剩余的Selenium实例:

pkilljava

这保证会杀死任何java遗迹(包括selenium,如果以这种方式启动的话)——但这里要小心——警告是,您可能也会杀死其他进程(由于pkill的工作方式)。在我的例子中,我想杀死JVM中运行的任何东西,所以这为我解决了这个问题


根据下面Goldberg的评论,请注意,这不会杀死系统上运行的任何驱动程序服务或浏览器

但是我在任务管理器中没有这些进程,而kill部分应该像这里一样执行
kill-9
。在OSX El Capitan上,默认的JDK 1.6不够高,Selenium standalone无法正常工作。使用“brew cask install java”进行更新,通过将JDK 1.8与已安装的1.6版本并排安装,为我解决了这个问题。如果在某种CI环境中运行selenium,这是一个非常糟糕的解决方法,而且不可能实现,更不用说完全不可扩展(如果每天出现10次此错误,会发生什么?10次重新启动?)我认为你可以做得更好;)如果您确定selenium正在端口4444上运行,这是一个很好的答案。我为那些希望通过java杀死selenium的人提供了另一种解决方案,它不依赖于端口,尽管它有自己的警告,但不起作用。它重定向到selenium服务器页面,说“哇!指定的URL将路由到此帮助页。有关Selenium Standalone的更多信息,请参阅文档和/或访问wiki。或者您正在寻找Selenium独立控制台。快乐测试!这不会杀死chromedriver或geckodriver之类的派生驱动程序服务。。它也不会杀死浏览器。它只会杀死所有java实例,留下孤立的浏览器和驱动程序服务。这是真的,但我的理解是,OP的问题是它们留下了运行的Selenium实例(一个