2016-12-15 2 views
0

셀레늄 webDriver + TestNG를 사용하여 응용 프로그램을 자동화하려고합니다.Assert를 try에서 처리하고 testNG를 catch 할 수 있습니까?

과 같이 여러 개의 assert 문을 사용하는 경우 Assert.assertEquals ("Dhaval", "Dhaval1");

그리고 try 시도를 사용하여 assertionfail 예외를 잡으려고합니다. & 블록을 catch하십시오. 나는 테스트 결과를 위해 엑셀 시트를 채우고 있습니다.

그러나 어설 션이 실패하는 동안 응용 프로그램의 직접 실행 중지 및 catch 블록은 실행되지 않습니다.

제안 사항.

미리 감사드립니다. !!!!

+1

문제의 코드 샘플과 수신하는 예외 텍스트를 게시해야 할 수도 있습니다. – Josh

+0

당신은 질문하기가 어렵지만 당신이 찾고 있다고 생각하는 것은 부드러운 주장입니다. 테스트가 즉시 중지 및 실패하지 않는 어설 션 답변이 도움이되는지 확인하십시오. 답변 주석의 링크를 확인하십시오. http://stackoverflow.com/questions/19091526/how-soft-assertions-work – JeffC

+0

Josh - 어설 션이 실패 할 경우 자동 스크립트 실행을 중단하고 싶지 않으면 어떻게해야하는지 간단한 질문입니다. –

답변

1

잡기 예외 나쁜 관행으로, 그들은있는 이유 주장한다. 사용자 정의 ITestListener을 구현하고 onTestFailure(ITestResult result) 메소드에 필수 로직을 정의하면 대소 문자가 실패 할 경우이 메소드의 코드가 실행됩니다.

1

이 시도 : 스프레드 시트에 저장 시험 방법 내부 테스트 결과를 처리하는 경우, 당신은 나쁜 연습을하고있다

try { 
Assert.assertEquals("Dhaval", "Dhaval1"); 
} 
catch (AssertionError e) { 
Assert.assertEquals("Dhaval", "Dhaval"); 
} 
+0

이것은 어떻게 대답을하고 이것이 무엇을하기로되어 있습니까? 당신은 하나의 예외를 먹은 다음 실제로 실패했을 때 패스를 기록합니까? – JeffC

+0

감사합니다 ... –

+0

예 bcoz 최종 테스트 결과 인 –