如何安装Selenium作为Unix守护程序?

问题描述 投票:1回答:2

如何将以下命令作为服务在后台运行在Ubuntu上?

启动集线器

java -jar selenium-server-standalone-2.48.2.jar -role hub &

启动节点

java -jar selenium-server-standalone-2.48.2.jar -role node  -hub http://localhost:4444/grid/register &

每当我关闭我的ssh会话时,即使在每个命令的末尾放置'&'字符,也无法访问selenium网格服务。有人会帮我一个忙吗?

java selenium ubuntu-14.04 selenium-grid
2个回答
2
投票

我试图让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和节点时无法启动chromedriver。


1
投票

你可以使用nohup命令。所以,您可以将输出重定向到nohup文件,断开ssh后不会有kill会话。

nohup java -jar selenium-server-standalone-2.48.2.jar -role hub &
nohup java -jar selenium-server-standalone-2.48.2.jar -role node  -hub http://localhost:4444/grid/register &
© www.soinside.com 2019 - 2024. All rights reserved.