AWS Device Farm의 계측 테스트 문제 해결 - AWS Device Farm

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Device Farm의 계측 테스트 문제 해결

다음 주제에서는 계측 테스트를 업로드하는 동안 발생하는 오류 메시지를 나열하고 각 오류를 해결하기 위한 해결 방법을 권장합니다.

INSTRUMENTATION_TEST_PACKAGE_UNZIP_FAILED

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

테스트 APK 파일을 열 수 없습니다. 파일이 유효한지 확인하고 다시 시도하세요.

오류 없이 테스트 패키지의 압축을 풀 수 있는지 확인하세요. 다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.

  1. 작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행합니다.

    $ unzip app-debug-androidTest-unaligned.apk
  2. 패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.

    $ tree .

    올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.

    . |-- AndroidManifest.xml |-- classes.dex |-- resources.arsc |-- LICENSE-junit.txt |-- junit (directory) `-- META-INF (directory)

    자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하십시오.

INSTRUMENTATION_TEST_PACKAGE_AAPT_DEBUG_BADGING_FAILED

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

테스트 패키지에 대한 정보를 추출할 수 없습니다. “aapt debug badging <path to your test package>” 명령을 실행하여 테스트 패키지가 유효한지 확인하고 명령에서 오류가 출력되지 않으면 다시 시도하세요.

업로드 검증 프로세스 중에 Device Farm은 aapt debug badging <path to your package> 명령 출력에서 정보를 구문 분석합니다.

계측 테스트 패키지에서 이 명령을 성공적으로 실행할 수 있는지 확인하세요.

다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.

  • 테스트 패키지를 작업 디렉터리에 복사한 후 다음 명령을 실행하세요.

    $ aapt debug badging app-debug-androidTest-unaligned.apk

    올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.

    package: name='com.amazon.aws.adf.android.referenceapp.test' versionCode='' versionName='' platformBuildVersionName='5.1.1-1819727' sdkVersion:'9' targetSdkVersion:'22' application-label:'Test-api' application: label='Test-api' icon='' application-debuggable uses-library:'android.test.runner' feature-group: label='' uses-feature: name='android.hardware.touchscreen' uses-implied-feature: name='android.hardware.touchscreen' reason='default feature for all apps' supports-screens: 'small' 'normal' 'large' 'xlarge' supports-any-density: 'true' locales: '--_--' densities: '160'

    자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하십시오.

INSTRUMENTATION_TEST_PACKAGE_INSTRUMENTATION_RUNNER_VALUE_MISSING

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

AndroidManifest.xml에서 계측 러너 값을 찾을 수 없습니다. 'aapt dump xmltree <path to your test package> AndroidManifest.xml' 명령을 실행하여 테스트 패키지가 유효한지 확인하고 'instrumentation' 키워드 뒤에 있는 계측 러너 값을 찾은 후 다시 시도하세요.

업로드 검증 프로세스 중에 Device Farm은 패키지에 포함된 XML 파일에 대해 XML 구문 분석 트리에서 계측 러너 값을 구문 분석합니다. 다음 aapt dump xmltree <path to your package> AndroidManifest.xml 명령을 사용할 수 있습니다.

계측 테스트 패키지에서 이 명령을 실행하여 계측 값을 성공적으로 찾을 수 있는지 확인하세요.

다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.

  • 테스트 패키지를 작업 디렉터리에 복사한 후 다음 명령을 실행하세요.

    $ aapt dump xmltree app-debug-androidTest-unaligned.apk AndroidManifest.xml | grep -A5 "instrumentation"

    올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.

    E: instrumentation (line=9) A: android:label(0x01010001)="Tests for com.amazon.aws.adf.android.referenceapp" (Raw: "Tests for com.amazon.aws.adf.android.referenceapp") A: android:name(0x01010003)="android.support.test.runner.AndroidJUnitRunner" (Raw: "android.support.test.runner.AndroidJUnitRunner") A: android:targetPackage(0x01010021)="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: android:handleProfiling(0x01010022)=(type 0x12)0x0 A: android:functionalTest(0x01010023)=(type 0x12)0x0

    자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하십시오.

INSTRUMENTATION_TEST_PACKAGE_AAPT_DUMP_XMLTREE_FAILED

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

테스트 패키지에서 유효한 AndroidManifest.xml을 찾을 수 없습니다. “aapt dump xmltree <path to your test package> AndroidManifest.xml” 명령을 실행하여 테스트 패키지가 유효한지 확인하고 명령이 오류를 인쇄하지 않은 후 다시 시도하세요.

업로드 검증 프로세스 중에 Device Farm은 다음 명령을 사용하여 패키지에 포함된 XML 파일에 대해 XML 구문 분석 트리의 정보를 구문 분석합니다aapt dump xmltree <path to your package> AndroidManifest.xml.

계측 테스트 패키지에서 이 명령을 성공적으로 실행할 수 있는지 확인하세요.

다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.

  • 테스트 패키지를 작업 디렉터리에 복사한 후 다음 명령을 실행하세요.

    $ aapt dump xmltree app-debug-androidTest-unaligned.apk AndroidManifest.xml

    올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.

    N: android=http://schemas.android.com/apk/res/android E: manifest (line=2) A: package="com.amazon.aws.adf.android.referenceapp.test" (Raw: "com.amazon.aws.adf.android.referenceapp.test") A: platformBuildVersionCode=(type 0x10)0x16 (Raw: "22") A: platformBuildVersionName="5.1.1-1819727" (Raw: "5.1.1-1819727") E: uses-sdk (line=5) A: android:minSdkVersion(0x0101020c)=(type 0x10)0x9 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x16 E: instrumentation (line=9) A: android:label(0x01010001)="Tests for com.amazon.aws.adf.android.referenceapp" (Raw: "Tests for com.amazon.aws.adf.android.referenceapp") A: android:name(0x01010003)="android.support.test.runner.AndroidJUnitRunner" (Raw: "android.support.test.runner.AndroidJUnitRunner") A: android:targetPackage(0x01010021)="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: android:handleProfiling(0x01010022)=(type 0x12)0x0 A: android:functionalTest(0x01010023)=(type 0x12)0x0 E: application (line=16) A: android:label(0x01010001)=@0x7f020000 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff E: uses-library (line=17) A: android:name(0x01010003)="android.test.runner" (Raw: "android.test.runner")

    자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하십시오.

INSTRUMENTATION_TEST_PACKAGE_TEST_PACKAGE_NAME_VALUE_MISSING

다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.

주의

테스트 패키지에서 패키지 이름을 찾을 수 없습니다. “aapt debug badging <path to your test package>” 명령을 실행하여 테스트 패키지가 유효한지 확인하고 “package: name” 키워드 뒤에 있는 패키지 이름 값을 찾은 후 다시 시도하세요.

업로드 검증 프로세스 중에 Device Farm은 다음 명령 aapt debug badging <path to your package>의 출력에서 패키지 이름 값을 구문 분석합니다.

인스트루먼트 테스트 패키지에서 이 명령을 실행하고 패키지 이름 값을 성공적으로 찾을 수 있는지 확인하세요.

다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.

  • 테스트 패키지를 작업 디렉터리에 복사한 후 다음 명령을 실행하세요.

    $ aapt debug badging app-debug-androidTest-unaligned.apk | grep "package: name="

    올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.

    package: name='com.amazon.aws.adf.android.referenceapp.test' versionCode='' versionName='' platformBuildVersionName='5.1.1-1819727'

    자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하세요.