싶습니다 테스트가 실패 할 때 스크린 샷을 UiAutomator해야합니다. , 캐치되지 않는 예외 처리기 - UiAutomator
@Override
protected void setUp() throws Exception {
System.out.println("Beginning setup...");
testFailed = true;
}
@Override
protected void tearDown() throws Exception {
if(testFailed)
getUiDevice().takeScreenshot("/sdcard/Pictures/Screenshots/failure.jpg");
}
후 개별 시험이
public void testExample(){
/* do stuff */
testFailed = false;
}
처럼 작동
예외가 발생하면 아이디어가 testFailed이 false로 설정되지 않습니다 것을 : 나는 현재이 설정 한 방법과 같이이다 tearDown은 테스트 후에 호출 될 때 스크린 샷을 찍습니다.난 정말이 문제에 더 우아한 해결책을 내 코드에 testListener, 또는 캐치되지 않는 예외 핸들러를 추가 할 수 있도록 기대했다. 그러나 UiAutomator 내가 구현하려고했던 일을 우선 자신의 캐치되지 않는 예외 핸들러를 가지고있다. 잡히지 않는 예외 핸들러를 추가 할 수는 있지만 무시됩니다.
잡히지 않은 예외 핸들러를 추가 할 수있는 방법이 있습니까? 즉, 던져진 곳과 UiAutomator의 포착되지 않은 예외 핸들러 사이의 예외를 가로 채고, UiAutomator에 따라 전달합니다.
내가 테스트 실패를 수신 할 수있는 또 다른 방법이 있나요/예외가 특별히 추가하지 않고 던져지는 그 부울 모든 테스트의 마지막에? . 대신 함수 내에서이를 넣어 분해에 getUiDevice() takeScreenshot()를 호출
좋은 Shivam Gupta .. 나는 같은 것을 제안하려고했다 !! –
Youre A Life-Saver. 감사 :-) –