2016-10-05 5 views
0

jenkins 슬레이브에서 실행중인 selenium 서버를 유지 관리하는 데 문제가 있습니다. 셀렌을 실행하는 데 다음 코드를 사용했습니다.jenkins 서버에서 셀렌을 실행하는 방법

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 

하지만 셀렌 서버가 죽는 문제가 계속 발생합니다. 누군가 셀레늄을 유지하는 것이 가장 좋은 방법을 말해 줄 수 있습니까? 셀레늄 서버를 유지 관리해야하는 모범 사례는 무엇입니까? 셀레늄 테스트를 실행할 때

가끔 다음과 같은 오류가 당신이 수행 가능한 다른 작업과 기능에서 분리하기 위해 젠킨스 노드에서 셀레늄 서버를 실행하려고한다 할 수

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

한 가지 석사. 서비스로 구성하고 서버 시작시 자동으로 실행되도록 구성하십시오. 를 CentOS OS를 들어

:

이 추가 /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 

이렇게하면 자동으로 다시 시작되며 항상 실행됩니다.

0

먼저 명령이 올바른지 확인해야합니다.

젠킨스는 일정 잡기 도구 일뿐입니다. 명령을 실행할 수는 있지만 젠킨스가 실행 중일 때는 명령을 실행할 수 없기 때문에 허가가 필요할 수 있습니다.

관련 문제