我尝试让 selenium-server-standalone 作为服务运行,但无法启动浏览器(我尝试过 chrome 和 firefox)。
所以最好按照 Mahsum Akbas 说的去做。
以下是如何将其作为服务的示例:
bash - Start Java jar by service (linux)...
但它不会启动真正的浏览器。
我正在使用 jenkins 服务启动真正的浏览器,但它也失败了。
我成功地使用无头浏览器启动了测试。但是有一些测试失败的问题。
And also, you could try this
已编辑:我使用 systemd 以这种方式实现了它:
sudo vim /etc/systemd/system/selenium-server-hub.service
[Unit]
Description=Selenium Server Standalone hub
StartLimitIntervalSec=5
After=syslog.target
[Service]
Type=simple
Restart=always
RestartSec=8
User=spacer
ExecStart=/bin/bash -c "export DISPLAY=:10 && /usr/bin/java -jar /home/spacer/seleniumserver/selenium-server.jar -role hub"
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
sudo vim /etc/systemd/system/selenium-server-hub.service
[Unit]
Description=Selenium Server node
StartLimitIntervalSec=0
After=selenium-server-hub.target
[Service]
Type=simple
Restart=always
RestartSec=8
User=spacer
ExecStart=/bin/bash -c "export DISPLAY=:10 && /usr/bin/java -Dwebdriver.chrome.driver=/bin/chromedriver -jar /home/spacer/seleniumserver/selenium-server.jar -role node -hub 'http://192.168.0.101:4444/grid/register/'"
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
我通过 RDP 连接到我的 linux 服务器并打开显示:10。您的显示可能会有所不同。
您可以通过命令检查您的显示器:
ps e | grep -Po " DISPLAY=[\.0-9A-Za-z:]* " | sort -u
PS:Chrome 和 Firefox 正在启动,即使在我像往常一样从终端启动 selenium-server hub 和 node 时无法启动 chromedriver。