java - 如何安装 Selenium 作为 Unix 守护进程?

标签 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 session 时,即使在每个命令末尾添加 '&' 字符,也无法访问 selenium 网格服务。有人可以帮我吗?

最佳答案

我尝试使 selenium-server-standalone 作为服务运行,但无法启动浏览器(我尝试过 chrome 和 firefox)。 所以最好按照 Mahsum Akbas 所说的去做。

以下是如何将其作为服务的示例: bash - Start Java jar by service (linux)...

但它不会启动真正的浏览器。 我正在使用 jenkins 服务来启动真正的浏览器,但它也失败了。 我成功地使用 headless 浏览器启动测试。但存在一些测试失败的问题。

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 无法启动。

关于java - 如何安装 Selenium 作为 Unix 守护进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33549247/

相关文章:

java - 如何在 selendroid 中验证 toast 消息

java - ChromeDriver 会阻止并且在出现意外警报框后不会失败

Selenium 点击 Highcharts 系列

virtualbox - 无法登录在 VirtualBox 上运行的 Ubuntu

java - 在 Fedora 20 Linux 上启动 jdeveloper 时的 Sigenv

java - 简单的@ManyToOne 关系 : could not resolve property (org. hibernate.QueryException)

java - 主机名不能为空

c# - 如何使用页面工厂找到另一个 WebElement 的 WebElement

当存在多个虚拟主机标签 Ubuntu14.04 时,Apache 2.4.7 重定向不起作用

python - 如何使用 Ansible 在服务器上安装 Python 版本