【问题标题】:How to Install Selenium as a Unix daemon?如何将 Selenium 安装为 Unix 守护进程?
【发布时间】:2016-02-06 13:32:48
【问题描述】:

如何在 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


    【解决方案1】:

    我尝试让 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。

    【讨论】:

      【解决方案2】:

      您可以使用nohup 命令。因此,您可以将输出重定向到 nohup 文件,并且在断开 ssh 后不会有终止会话。

      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 &
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-05
        • 2011-11-09
        • 1970-01-01
        • 2012-10-25
        • 1970-01-01
        相关资源
        最近更新 更多