AWS DeviceFarm에서 UIAutomator 테스트를 할 때 빠졌습니다.

소개



AWS DeviceFarm에서 Android 앱인 UIAutomator를 사용한 UI 테스트를 수행할 때 몇 가지 문제가 있었기 때문에 남겨 둡니다. DeviceFarm과 UIAutomator를 사용하는 방법은 여기에서 언급하지 않습니다.

1. UIAutomator2.0부터 Instrumentation 테스트를 다루고 있습니다.



DeviceFarm 콘솔 화면에서 Create New Run 버튼을 누르면 테스트 설정 화면으로 이동합니다. Step1에서는 프로젝트의 apk 파일을 업로드합니다. Step2에서는 테스트의 타입을 라디오 버튼으로부터 선택합니다만, 여기가 1번째의 빠져 포인트입니다.
선택 항목의 맨 아래에 uiautomator 라는 항목이 있으므로 보통으로 생각하면 이것을 선택해 버립니다만, 아무래도 UIAutomator2.0부터 Instrumentation 테스트 취급이 되어 있는 것 같습니다.
UIAutomator2.0 이상을 사용하는 사람은 Instrumentation을 선택하고 아래 명령으로 생성한 app-debug-androidTest-unaligned.apk를 업로드하여 테스트를 시작합니다.
./gradlew assembleDebugAndroidTest

2. 테스트용 클래스와 메소드의 명명 규칙이 있다



여기가 제일 빠졌습니다. apk 파일을 업로드하면 테스트가 시작되지만 결과는 다음과 같이 SetupSuite 및 TeardownSuite 테스트만 수행되었습니다.


조사에 조사했는데, DeviceFarm의 DiscussionForums에 살짝 써 있었습니다.
분명히 테스트 클래스와 메소드 이름에 규칙이있는 것 같습니다.
htps : // ふふる ms. 아 ws. 아마존. 이 m/th레아 d. js 파? 엄청난 D=696754

상기 링크의 내용으로부터 발췌하면, 테스트용 클래스명은,
"[Tt]est[Ss]?.*"

もしくは 

".*[Tt]est[Ss]"

もしくは 

"[Tt]est.*"

의 패턴으로 시작(끝)해야 하는 패턴.
또, 메소드명은 testXXX 로 해야 하는 것 같습니다.

이런 느낌입니다.
public class HogeTests extends InstrumentationTestCase {
    public void testHogeUI() {
        // ...
    }
}

상기의 규칙에 따르지 않는 경우는 AWS DeviceFarm측이 테스트 클래스/메소드로서 인식할 수 없다고 하는 것.
이 기사가 누군가의 도움이 되었으면 좋겠습니다.

좋은 웹페이지 즐겨찾기