Selenium standalone server not starting

2019-02-07 11:52发布

I'm running into trouble while starting selenium standalone server on my VPS

root@PIV:/usr/share/nginx/pivdev/tests# java -jar selenium-server.jar 

Output:

21:53:08.857 INFO - Launching a standalone Selenium Server
21:53:08.911 INFO - Java: Oracle Corporation 24.79-b02
21:53:08.914 INFO - OS: Linux 3.13.0-52-generic amd64
21:53:08.945 INFO - v2.47.1, with Core v2.47.1. Built from revision 411b314
21:53:09.070 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match the current platform LINUX
21:53:09.071 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, browserName=MicrosoftEdge, version=}] does not match the current platform LINUX
21:53:09.071 INFO - Driver class not found: com.opera.core.systems.OperaDriver
21:53:09.071 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered

No more output after that. Locally the same command works like like a charm. Any hint how to fix this issue ?

Java

root@PIV:/usr/share/nginx/pivdev/tests# java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

Update 1

The service is not running on any port at all

Netstat output

root@PIV:~# netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      898/sshd        
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1247/sendmail: MTA:
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      974/mysqld      
tcp        0      0 127.0.0.1:587           0.0.0.0:*               LISTEN      1247/sendmail: MTA:
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1005/nginx      
tcp        0      0 0.0.0.0:81              0.0.0.0:*               LISTEN      1005/nginx      
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      496/vsftpd      
tcp6       0      0 :::22                   :::*                    LISTEN      898/sshd        
tcp6       0      0 :::35484                :::*                    LISTEN      2036/java       
tcp6       0      0 :::50920                :::*                    LISTEN      2036/java       
tcp6       0      0 :::8080                 :::*                    LISTEN      2036/java  

Update 2

Ok, the main issue here is that selenium server is getting stuck on startup, and I dont know why. I destroyed my VPS machine and started from scratch. The selenium server booted up once, after I stopped and started again the issue happened(And persists after reboot). Sometimes it doesnt works even on the first try.

I'm not sure if its either a java problem or selenium server problem or my VPS host problem.

2条回答
做自己的国王
2楼-- · 2019-02-07 12:22

Long short story:

Selenium uses /dev/random (don't know why, dont ask) and it was waiting for enough entropy to generate the random number.

THE FIX

Just add the parameter when starting selenium: -Djava.security.egd=file:///dev/urandom switch and you're good to go

查看更多
萌系小妹纸
3楼-- · 2019-02-07 12:38

When running on linux it is better to start selenium server with some capabilities provided similar to below:

java -jar selenium-server.jar -Dwebdriver.chrome.bin=/path/to/google-chrome -Dwebdriver.chrome.driver=/path/to/chromedriver -browser browserName=chrome platform=LINUX -port 4444

Also ,not sure if your local system is Linux.

查看更多
登录 后发表回答