Solución de problemas de pruebas de instrumentación en AWS Device Farm - AWS Device Farm

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas de pruebas de instrumentación en AWS Device Farm

En el siguiente tema se muestra una lista de mensajes de error que se producen durante la carga de las pruebas de instrumentación y recomienda soluciones para resolver cada error.

INSTRUMENTATION_TEST_PACKAGE_UNZIP_FAILED

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not open your test APK file. Please verify that the file is valid and try again.

Asegúrese de que puede descomprimir el paquete de pruebas sin errores. En el siguiente ejemplo, el nombre del paquete es app-debug-androidTest-unaligned.apk.

  1. Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

    $ unzip app-debug-androidTest-unaligned.apk
  2. Después de descomprimir correctamente el paquete, ejecute el siguiente comando para que aparezca la estructura de árbol de directorios de trabajo:

    $ tree .

    Un paquete de pruebas de instrumentación válido producirá una salida similar a esta:

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

    Para obtener más información, consulte Trabajar con instrumentación para Android y AWS Device Farm.

INSTRUMENTATION_TEST_PACKAGE_AAPT_DEBUG_BADGING_FAILED

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not extract information about your test package. Please verify that the test package is valid by running the command "aapt debug badging <path to your test package>", and try again after the command does not print any error.

Durante el proceso de validación de carga, Device Farm extrae la información de la salida del comando aapt debug badging <path to your package>.

Asegúrese de que puede ejecutar correctamente este comando en el paquete de pruebas de instrumentación.

En el siguiente ejemplo, el nombre del paquete es app-debug-androidTest-unaligned.apk.

  • Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

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

    Un paquete de pruebas de instrumentación válido producirá una salida similar a esta:

    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'

    Para obtener más información, consulte Trabajar con instrumentación para Android y AWS Device Farm.

INSTRUMENTATION_TEST_PACKAGE_INSTRUMENTATION_RUNNER_VALUE_MISSING

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not find the instrumentation runner value in the AndroidManifest.xml. Please verify the test package is valid by running the command "aapt dump xmltree <path to your test package> AndroidManifest.xml", and try again after finding the instrumentation runner value behind the keyword "instrumentation."

Durante el proceso de validación de carga, Device Farm extrae el valor de la aplicación de ejecución de instrumentación del árbol de análisis de XML para un archivo XML contenido en el paquete. Puede utilizar el siguiente comando: aapt dump xmltree <path to your package> AndroidManifest.xml.

Asegúrese de que puede ejecutar este comando en el paquete de pruebas de instrumentación y encontrar el valor de la instrumentación de forma correcta.

En el siguiente ejemplo, el nombre del paquete es app-debug-androidTest-unaligned.apk.

  • Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

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

    Un paquete de pruebas de instrumentación válido producirá una salida similar a esta:

    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

    Para obtener más información, consulte Trabajar con instrumentación para Android y AWS Device Farm.

INSTRUMENTATION_TEST_PACKAGE_AAPT_DUMP_XMLTREE_FAILED

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not find the valid AndroidManifest.xml in your test package. Please verify that the test package is valid by running the command "aapt dump xmltree <path to your test package> AndroidManifest.xml", and try again after the command does not print any error.

Durante el proceso de validación de carga, Device Farm extrae información del árbol de análisis de XML para un archivo XML contenido en el paquete mediante el siguiente comando: aapt dump xmltree <path to your package> AndroidManifest.xml.

Asegúrese de que puede ejecutar correctamente este comando en el paquete de pruebas de instrumentación.

En el siguiente ejemplo, el nombre del paquete es app-debug-androidTest-unaligned.apk.

  • Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

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

    Un paquete de pruebas de instrumentación válido producirá una salida similar a esta:

    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")

    Para obtener más información, consulte Trabajar con instrumentación para Android y AWS Device Farm.

INSTRUMENTATION_TEST_PACKAGE_TEST_PACKAGE_NAME_VALUE_MISSING

Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.

aviso

We could not find the package name in your test package. Please verify that the test package is valid by running the command "aapt debug badging <path to your test package>", and try again after finding the package name value behind the keyword "package: name."

Durante el proceso de validación de carga, Device Farm extrae el valor del nombre del paquete de la salida del siguiente comando: aapt debug badging <path to your package>.

Asegúrese de que puede ejecutar este comando en el paquete de pruebas de instrumentación y encontrar el valor del nombre del paquete de forma correcta.

En el siguiente ejemplo, el nombre del paquete es app-debug-androidTest-unaligned.apk.

  • Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:

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

    Un paquete de pruebas de instrumentación válido producirá una salida similar a esta:

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

    Para obtener más información, consulte Trabajar con instrumentación para Android y AWS Device Farm.