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

Java 如何将Selenium安装为Unix守护程序?,java,selenium,ubuntu-14.04,selenium-grid,Java,Selenium,Ubuntu 14.04,Selenium Grid,如何将以下命令作为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会话时,即使在每个命令的末尾加上“&”字符,也无法访问seleni

如何将以下命令作为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网格服务。有人能帮我吗?

你可以使用
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 &

我曾尝试使selenium服务器作为服务独立运行,但它未能启动浏览器(我尝试了chrome和firefox)。 因此,最好按照马哈苏姆·阿克巴斯说的去做

以下是您如何将其作为服务的示例:

但它不会推出真正的浏览器。 我使用jenkins服务启动real browser,但也失败了。 我成功地使用无头浏览器启动了测试。但是有一个问题是,有些测试失败了

编辑:我使用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服务器,它会打开display:10。您的显示可能会有所不同。 您可以通过以下命令检查显示器:

ps e | grep -Po " DISPLAY=[\.0-9A-Za-z:]* " | sort -u
PS:Chrome和Firefox正在启动,尽管当我像往常一样从终端启动selenium server hub和node时chromedriver无法启动