2014-01-10 1 views
2

Jenkins에서 직업을 만들어 Saucelabs에서 Selenium 테스트를 실행합니다. 네트워크 문제 또는 인증 챌린지로 인해 Saucelabs에서 일부 테스트가 시간 초과되었습니다. Jenkins에서의 작업 결과는 성공적으로 통과 된 것으로 표시됩니다. Jenkins 직무에 오류가 표시되도록하려면 어떻게해야합니까? 테스트 시간 초과시 작업을 실패하게 만드는 방법이 있습니까? 도움에 미리 감사드립니다.Selcelium은 Saucelabs에서 시간 초과를 테스트하지만 Jenkins에서 통과 된 것으로 표시됩니다. 테스트가 Saucelabs에서 타임 아웃 할 때 실패한 것으로 표시하는 방법?

답변

1

테스트가 시간 초과 된 때를 나타내는 콘솔 로그 출력에서 ​​검색 할 수있는 문자열이있는 경우 Text Finder plugin을 사용하여 해당 문자열을 찾고 빌드를 실패 할 수 있습니다.

+0

Jenkins 콘솔 출력에는 테스트가 시간 초과되었는지 확인하는 데 사용할 수있는 문자열이 없습니다. 6 개의 테스트가 실행 중이고 4 번째 시간이 초과되면 Saucelabs는 시간 초과 오류를 표시하지만 Jenkins는 3 개의 테스트를 통과하여 작업이 성공한 것으로 나타납니다. 0 실패 건너 뛰었습니다. – user3183245

0

테스트가 실행되는 동안 그리드에 연결이 끊어지면 Sauce가 (JSON 패 키트에서 90 초 동안 비활성 상태가 된 후) 시간 초과되고 테스트와의 연결이 없기 때문에 테스트에서 그 사실을 알 수있는 방법이 없습니다. 그것은 일어났다. Junit 또는 TestNG 테스트에서 시간 제한을 설정하지 않으면 오랜 시간이 초과되면 반드시 실패해야하며 표준 JSON/상태 요청으로 그리드 상태를 핑 (ping)하려고하는 @AfterTest 단계가있을 수 있습니다 , 실패하면 Assert.fail을 던질 수 있습니다. 나는 이것을 시도하지 않았지만 그것이 효과가있을 것처럼 보인다.

또한 Saucerest을 사용하여 테스트 상태를 쿼리하고 시간 제한 응답을받을 수 있습니다.

관련 문제