端口4444繁忙,请选择一个空闲端口并使用-port选项指定

时间:2018-08-02 14:25:57

标签: selenium-webdriver protractor

我使用以下命令安装量角器:

  

npm install -g量角器,

     

webdriver-manager更新,

     

webdriver-manager启动,

在安装此Webdriver Manager之后运行正常。然后由于某种原因,我认为我需要独立的硒服务器。所以我使用以下命令安装它:

  

npm install selenium-standalone @ latest -g selenium-standalone安装   硒独立启动

现在,如果我运行webdriver-manager start或selenium -standalone start中的任何一个,则会收到这些错误。我不能同时运行两个。

I/start - java -Dwebdriver.chrome.driver=/usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.41 -Dwebdriver.gecko.driver=/usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.21.0 -jar /usr/local/lib/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.13.0.jar -port 4444
[10:17:56] I/start - seleniumProcess.pid: 39645
10:17:57.250 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.13.0', revision: '2f0d292'
10:17:57.251 INFO [GridLauncherV3$1.launch] - Launching a standalone Selenium Server on port 4444
2018-08-02 10:17:57.408:INFO::main: Logging initialized @612ms to org.seleniumhq.jetty9.util.log.StdErrLog
10:17:57.589 ERROR [SeleniumServer.boot] - Port 4444 is busy, please choose a free port and specify it using -port option
[10:17:57] I/start - Selenium Standalone has exited with code 0.

如果有人知道原因,请告诉我。

8 个答案:

答案 0 :(得分:3)

因为由webdriver-manager start在默认端口4444上启动的硒服务器仍在运行,而不是终端。

因此,当您在未指定端口的情况下执行webdriver-manager startselenium -standalone start时,它将尝试再次在4444上启动另一个硒服务器,该服务器被先前的硒服务器使用。这就是为什么您得到Port 4444 is busy

您可以找到硒服务器的进程并将其杀死,以释放端口4444,或者为webdriver-manager startselenium -standalone start将该端口指定为其他编号

尝试webriver-manager shutdown停止硒服务器。

并且webdriver-manager update将安装selenium-server-standalone.jar,因此您无需安装selenium-standalone来帮助安装selenium-server-standalone.jar。

答案 1 :(得分:2)

尝试以下操作来杀死该端口上的所有内容:

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

如果命令 webriver-manager 关闭不起作用。

答案 2 :(得分:1)

只需在另一个端口上启动selenium独立服务器: 例如:

C:\Users\username\Desktop\Essentials\SeleniumStandaloneJars>java -jar selenium-server-standalone-3.11.0.jar -port 8090

希望对您有帮助。

答案 3 :(得分:1)

在运行量角器测试时遇到了这个问题。 以下两种解决方案对我有用

1)通过以下命令停止服务器。     http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer

2)取消注释seleniumAddress:'http://localhost:4444/wd/hub     保存并运行测试。

In case-2: Selenium web driver starts running by default on start running the protractor tests.

答案 4 :(得分:1)

使用以下命令通过更改端口号来启动服务器

  

java-   Dwebdriver.chrome.driver = C:\ Users \ chromedriver_path \ chromedriver_2.45.exe   -Dwebdriver.gecko.driver = C:\ Users \ geckodriver_path \ geckodriver-v0.23.0.exe   -jar C:\ Users \ selenium_server_jar_path \ selenium-server-standalone-3.141.59.jar   端口4446

请根据您的系统配置更改路径 [此解决方案适用于Windows计算机]

答案 5 :(得分:0)

您可以输入控制台(Windows为cmd)

  

webdriver-manager

,它将为您提供Selenium Standalone服务器的选项列表。如果要更改端口,请使用--seleniumPort选项,

  

webdriver-manager start --seleniumPort 12345

这会将您的端口更改为12345,因此Selenium Server将在端口12345而不是4444上启动。

希望它会为您提供帮助。

答案 6 :(得分:0)

如果您使用的是Windows:

在使用npm时,一个简单的解决方案是安装

$ npm install --global kill-port 然后您可以致电

$ kill-port --port 4444

在运行测试之前。

如果您使用的是Mac或Linux,则可以使用pkill -f selenium-standalone

答案 7 :(得分:0)

如果您正在LinkedIn上关注Megan Lewis课程,则应指定自己的端口

java -jar .\selenium-server-standalone-3.141.59.jar -role hub -port 5555 (choose your number)