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

No hemos podido abrir el APK archivo de prueba. 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 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 ejemplo siguiente, 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 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

No hemos podido encontrar el valor del ejecutor de instrumentación en el AndroidManifest archivo.xml. Compruebe que el paquete de prueba es válido ejecutando el comando «aapt dump xmltree <path to your test package> AndroidManifest.xml» e inténtelo de nuevo tras encontrar el valor del ejecutor de instrumentación detrás de la palabra clave «instrumentation».

Durante el proceso de validación de carga, Device Farm analiza el valor del ejecutor de instrumentación del árbol XML de análisis de un XML archivo 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-android Test-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 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

No hemos podido encontrar el AndroidManifest archivo.xml válido en su paquete de prueba. Compruebe que el paquete de prueba es válido ejecutando el comando «aapt dump xmltree <path to your test package> AndroidManifest.xml» e inténtelo de nuevo cuando el comando no muestre ningún error.

Durante el proceso de validación de carga, Device Farm analiza la información del árbol XML de análisis de un XML archivo 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 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 ejemplo siguiente, 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 Instrumentación para Android y AWS Device Farm.