인턴쉽을 위해 웹 응용 프로그램 테스트를 위해 TestNG 및 셀렌을 사용해야합니다. 하지만 문제가 발생합니다. 셀렌이나 브라우저가 임의의 이유로 작동하지 않아 작동하는 테스트가 "실패"로 표시됩니다. 이를 방지하기 위해 주석을 사용할 수 있습니다. 테스트가 한 번 성공하면 테스트는 "성공"으로 표시됩니다.하지만 문제는이 솔루션이 테스트 시간을 4 배로 늘리는 것이므로 매우 효율적이지 않습니다. .testng 및 seleniums 테스트를 최적화하는 방법
테스트 시간을 줄이려면 "테스트에 실패하면이 테스트를 다시 실행하고 테스트가 실패한 경우에만 규칙을 작성하고 두 번째, 세 번째 또는 네 번째로이 테스트를 "성공"으로 표시하십시오. 따라서 이러한 임의의 버그는 피할 수 있습니다. 그러나이 규칙을 작성하는 방법을 찾지 못했습니다. 청취자를 추가 할 수 있다는 것을 알았습니다. 따라서 "onTestFailure
"이라는 메서드가있어서 테스트가 실패했을 때 뭔가 할 수 있습니다. 테스트를 실행하십시오.
실패한 테스트가 모두 저장되는 testng-failed.xml도 있습니다. 따라서이 테스트를 다시 실행하기 위해이 xml 파일을 실행할 수는 있지만 이전의 첫 번째 실행에서 보고서가 지워지지만 실패한 테스트는 두 번째 실행이 성공적이면 "성공"으로 표시됩니다. (젠킨스에 testNG/selenium을 통합 했으므로 모든 테스트가 포함 된 그래프가 있으므로이 방법은 적합하지 않지만이 방법은 테스트 시간을 4 배로 늘리지 않아 원하는 결과를 얻을 수 있습니다)
그렇게하는 방법에 대한 단서가 있다면 아주 좋을 것입니다.
나는 testng-failed.xml을 3 번 실행하기 위해 테스트를 마쳤으며, 모든 테스트가 진행 중이고 많은 시간이 걸리지 않습니다. 그러나 Jenkins의 경우 testng-failed.xml이 마지막으로 실행될 때 testng-result.xml을 편집하므로 마지막 실행, testng이 시작되었으므로 그래프에 "1 테스트 실행, 1 성공"이 표시됩니다. 이 시험은 처음 3 번 실패했습니다. 이 방법은 모든 실패한 테스트가 포함 된 그래프를 생성하지만 모든 작업 테스트 (세 번째 실행되는 테스트 제외)는 표시되지 않습니다. 정확히 원하는 것은 아닙니다 ... 단서가 있습니까? – user1000499