필자의 이해는 ActivityTestRule이 테스트 케이스 내에서 하나의 Activity 만 테스트하도록 설계되었으므로 getActivity()는 ActivityTestRule에서 지정한 활동 만 리턴합니다.
이 스크린 샷을 캡처하려면, 라이브러리가 현재 사용
View screenView = activity.getWindow().getDecorView().getRootView(); screenView.setDrawingCacheEnabled(true); Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache()); screenView.setDrawingCacheEnabled(false);
(. 활동이 사용자가 우리에게 전달하는 활동입니다)
그래서 같은 활동이 takescreenshot하기 위해 제공되고 있기 때문에, 그 당시에는 해당 액티비티의 뷰 계층 구조 만 캡처 할 수 있습니다. 테스트 케이스마다 하나의 액티비티 만 테스트하도록 테스트를 나눌 수 있습니까?
또한 우리는 현재 화면을 캡처하는 다른 방법을 모색 중이며이 방법을 변경하면이 스레드에 추가됩니다.
참고 :이 라이브러리를 사용하여 Firebase Test Lab에서 테스트를 실행하고 (라이브러리를 사용하는 대신)/sdcard/screenshots 디렉토리에있는 스크린 샷을 캡처하는 것이 더 좋습니다 그들은 테스트가 끝나면 대시 보드로 끌어 올려집니다.