如何在jenkins服务器上运行selenium

时间:2016-10-05 05:57:19

标签: selenium jenkins

我无法维护在jenkins slave上运行的selenium服务器。我使用以下代码运行selenium

 java -jar /opt/selenium-server-standalone-2.53.0.jar  -Dwebdriver.chrome.args="--use-gl=osmesa" -Dwebdriver.chrome.driver=/usr/bin/chromedriver -Dwebdriver.chrome.bin=/usr/bin/google-chrome  -log /var/log/selenium/selenium.log > /var/log/selenium/output.log 2> /var/log/selenium/error.log & echo $! > /tmp/selenium.pid

但我不断遇到selenium服务器死机的问题。有人可以告诉我如何最好地维持硒?维护selenium服务器应该了解哪些最佳实践?

运行selenium测试时,我有时会遇到以下错误

tests/npw Connection refused! Is selenium server started? 

tests/npw { sessionId: null, 
status: 13, 
state: 'unhandled error', 

value: 
{ message: 'Read timed out', 
suppressed: [], 
localizedMessage: 'Read timed out', 
cause: null, 
class: 'java.net.SocketTimeoutException', 
hCode: 1232868082, 
screen: null }, 
class: 'org.openqa.selenium.remote.Response',
hCode: 1242507638 } 

2 个答案:

答案 0 :(得分:0)

您可以做的一件事是尝试在Jenkins节点中运行Selenium服务器,以便与主服务器完成的其他可能的工作和功能分开。 将其配置为服务并配置为在服务器启动时自动运行。

对于Centos操作系统: 在/etc/systemd/system/selenium-node.service

中创建一个文件

添加:

[Unit]
Description=Run a selenium node

[Service]
ExecStart=/usr/bin/java -jar /route/to/selenium/selenium-server-standalone-2.52.0.jar -role node blablabla
Restart=on-abort

[Install]
WantedBy=multi-user.target

并运行:

sudo systemctl daemon-reload
sudo systemctl start selenium-node.service

这样它会自动重启,并且会一直运行。

答案 1 :(得分:0)

首先,您必须确保命令正确。

Jenkins只是一个日程安排工具。如果您可以通过Jenkins运行命令但不能运行,可能是因为许可。