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.
nota
Para conocer las consideraciones importantes a la hora de utilizar las pruebas de instrumentación en AWS Device Farm, consulte Instrumentación para Android y AWS Device Farm.
Errores de carga
Pueden producirse los siguientes errores al cargar las pruebas de instrumentación.
INSTRUMENTATION_TEST_PACKAGE_UNZIP_FAILED
Si aparece el siguiente mensaje, siga estos pasos para solucionar el problema.
Warning: 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 Test-unaligned.apk app-debug-android.
Copie el paquete de pruebas a su directorio de trabajo y, a continuación, ejecute el siguiente comando:
$ unzip app-debug-androidTest-unaligned.apkDespué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.
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-android. Test-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.apkUn 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.
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-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)0x0Para 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.
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-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.xmlUn 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.
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-android. Test-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.
Pruebe los conocimientos
Cuando optas por probar la información, Device Farm genera un informe resumido de tu carrera y de cada una de las tareas incluidas en ella. Si el servicio no puede generar el informe, el estado del informe de información es SKIPPED o ERRORED y el mensaje del informe explica el motivo. Los siguientes mensajes pueden aparecer al generar información para las pruebas de instrumentación.
El trabajo no se completó hasta su finalización
Unable to generate test insights because the job was
status.
El trabajo finalizó en un estado no satisfactorio (donde status estáSTOPPED, oSKIPPED)ERRORED, por lo que no hay ningún resultado que resumir. Una ejecución que termina en un estado fallido sigue recibiendo información.
Para resolver este problema, investigue por qué el trabajo no se completó hasta su finalización. En muchos casos, el message campo del trabajo en sí mismo puede explicar por qué el trabajo no se completó.
Los resultados no contenían ningún caso de prueba
Test insights could not be generated. The test spec output file was
parsed successfully but contained no test cases.
El artefacto de resultados se analizó correctamente, pero no contenía ningún caso de prueba.
Para resolver este problema, comprueba que tu conjunto de pruebas incluye al menos un caso de prueba y que los resultados se almacenan correctamente en él. $DEVICEFARM_LOG_DIR
El resultado de la prueba supera el tamaño máximo admitido
Unable to generate test insights: test output "test spec output" exceeds
the maximum supported size of 1GB.
La salida de las especificaciones de prueba supera 1 GB.
Para resolver este problema, investigue los comandos que generan un gran número de líneas en el resultado de la especificación de prueba. A continuación, elimínelos o modifíquelos.
No se encontró ninguna salida de instrumentación en la salida de las especificaciones de prueba
Unable to generate test insights. No instrumentation test output was
found in the test spec output file.
El archivo de salida de la especificación de prueba estaba presente, pero no contenía líneas de salida de instrumentación.
Para resolver este problema, asegúrese de que su marco emita la salida de la instrumentación al archivo de especificaciones stdout de prueba.