我无法维护在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 }
答案 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运行命令但不能运行,可能是因为许可。