Android, Error = No se puede encontrar información de instrumentación para: ComponentInfo {}

Hay muchos temas / preguntas relacionados con este problema en stackoverflow (comoError = No se puede encontrar la información de instrumentación para: ComponentInfo {}) y otro sitio web, pero lo que hace que mi problema sea diferente a los demás es que estoy trabajando en la automatización. Déjame darte más detalles.

No tengo ningún problema cuando estoy probando en una máquina local (me refiero a mi computadora portátil). Puedo ejecutar pruebas Espresso y todas las pruebas pasan.

Ahora, quiero ejecutar estas pruebas en CI (Bitrise en mi caso). Creo y ejecuto el emulador. Confirmo que no hay ningún problema allí. Tengo el siguiente script:

...
# Check which instrumentation packages have been installed on your device, https://stackoverflow.com/a/23394559/513413
echo ""
echo "Check which instrumentation packages have been installed..."
adb shell pm list instrumentation

# Running tests
echo ""
echo "running test..."
adb shell am instrument -w -r   -e debug false -e class my.package.name.MyActivityTest my.package.name.test/android.support.test.runner.AndroidJUnitRunner

Esta es mi salida de CI:

Check which instrumentation packages have been installed...
instrumentation:com.android.emulator.smoketests/android.support.test.runner.AndroidJUnitRunner (target=com.android.emulator.smoketests)
instrumentation:com.android.smoketest.tests/com.android.smoketest.SmokeTestRunner (target=com.android.smoketest)
instrumentation:com.example.android.apis/.app.LocalSampleInstrumentation (target=com.example.android.apis)
running test...
INSTRUMENTATION_STATUS: id=ActivityManagerService
INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{my.package.name.test/android.support.test.runner.AndroidJUnitRunner}
INSTRUMENTATION_STATUS_CODE: -1
android.util.AndroidException: INSTRUMENTATION_FAILED: my.package.name.test/android.support.test.runner.AndroidJUnitRunner
    at com.android.commands.am.Am.runInstrument(Am.java:1093)
    at com.android.commands.am.Am.onRun(Am.java:371)
    at com.android.internal.os.BaseCommand.run(BaseCommand.java:47)
    at com.android.commands.am.Am.main(Am.java:100)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:251)

Tengo la siguiente línea de código endefaultConfig deapp.gradle archivo:

testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'

yo tengoandroid.support.test.runner.AndroidJUnitRunner bajo mi EditConfiguration como ves en el siguiente enlace.

Supongo que mi prueba falla porque no tengo este comando en el emulador de mi CI. Entonces, mi pregunta es ¿cómo puedo agregarlo a través de la línea de comandos? ¿Es eso posible? Gracias.

Actualizar

Este es mi guión completo.

#!/bin/bash

# List of devices attached
adb devices

# List all *.apk files inside /bitrise/deploy path
echo "List of all *.apk files in $BITRISE_DEPLOY_DIR"
cd $BITRISE_DEPLOY_DIR && ls

# Push and Install main apk file
echo ""
echo "Pushing main apk at $BITRISE_APK_PATH to /data/local/tmp/my.package.name and install it..."
adb push $BITRISE_APK_PATH /data/local/tmp/my.package.name
adb shell pm install -r "/data/local/tmp/my.package.name"

# Push and Install Test Unaligned apk file
echo ""
echo "Pushing test unaligned apk at $BITRISE_DEPLOY_DIR/my-app-debug-unaligned.apk to /data/local/tmp/my.package.name.test and install it..."
adb push $BITRISE_DEPLOY_DIR/my-app-debug-unaligned.apk /data/local/tmp/my.package.name.test
adb shell pm install -r "/data/local/tmp/my.package.name.test"

# Check which instrumentation packages have been installed on your device, https://stackoverflow.com/a/23394559/513413
echo ""
echo "Check which instrumentation packages have been installed..."
adb shell pm list instrumentation

# Running tests
echo ""
echo "switch directory to $BITRISE_SOURCE_DIR"
cd $BITRISE_SOURCE_DIR
echo "running test..."
adb shell am instrument -w -r -e debug false -e class my.package.name.path.MinHappyPathTest my.package.name.path/android.support.test.runner.AndroidJUnitRunner

Respuestas a la pregunta(1)

Su respuesta a la pregunta