¿Cómo iniciar el proyecto de Instrumentación mediante programación con Android Intent?

Una manera de iniciar testcase es,

adb shell am instrument -w com.google.vishal.test/android.test.InstrumentationTestRunner 

Quiero iniciar esto usando el código de Android (con intención)

por ejemplo,

 adb shell am start -n com.google.android.contacts/.ContactsActivity 

Podemos ejecutar usando la intención de Android mediante el siguiente método: –

 Intent intent = new Intent(com.google.android.contacts, ContactsActivity.class); startActivity(intent); 

Pero, cómo correr

 adb shell am instrument -w com.google.vishal.test/android.test.InstrumentationTestRunner 

Por la intención de Android?

Gracias por su ayuda de antemano 🙂

Comando para iniciar la instrumentación desde adb shell : –

 adb shell am instrument -w com.android.vishal.project.test/android.test.InstrumentationTestRunner 

Código de Android para iniciar la instrumentación de Android

  startInstrumentation(new ComponentName("com.android.vishal.project.test", "android.test.InstrumentationTestRunner"), null, null); 

Nota :

Otro Método,

Código de Android para la instrumentación de inicio (Android 2.3 a Android 4.1.2)

 String str_cmd = "adb shell am instrument -w com.android.vishal.project.test/android.test.InstrumentationTestRunner"; Runtime.getRuntime().exec(str_cmd); 

Para Android 4.2 se requiere permiso "android.permission.INJECT_EVENTS" & que sólo está permitido por la aplicación del sistema. La aplicación de usuario no puede utilizar este permiso debido a algunas razones de seguridad.

Por lo que no puede utilizar Runtime.getRuntime (). Exec (str_cmd); Para Android 4.2 en adelante …

Así que ahora el método de trabajo es:

  startInstrumentation(new ComponentName("com.android.vishal.project.test", "android.test.InstrumentationTestRunner"), null, null); 

Ejecute este comando desde su Actividad.

Gracias.

Esto es realmente imposible de hacer, la razón es que para ejecutar la instrumentación que necesita a través de ADB, adb tiene ciertos privilegios especiales debido a la seguridad y por lo tanto no se puede ejecutar en el teléfono (como con cualquier fuente abierta, es de Curso posible pero usted tendría que reescribir algún androide y entonces él sólo trabajaría en los teléfonos que usted instaló que encendido!).

¿Puedo preguntarle su razón para hacer esto? Si realmente necesita para automatizar a través de las aplicaciones de su mejor opción podría ser para nosotros el nuevo marco de prueba de ui de Android o para probar sólo en el emulador y utilizar algo que se ejecuta en la parte superior de la jerarquía de vista porque probar lo que es actualmente un callejón sin salida .

  • Android Testing - Problema con ActivityInstrumentationTestCase2?
  • La prueba de instrumentación falla al azar con multidexado activado
  • Las pruebas existentes de la interfaz de usuario de Android dejaron de funcionar después de cambiar a AndroidJUnitRunner
  • Robotium - Escoja una cuenta en AccoutPicker con solo
  • BDD Android UI marco de pruebas?
  • Prueba de interfaz de usuario de Robotium para la aplicación con el cajón de navegación
  • Cómo probar automáticamente onResume el comportamiento llamando onDestroy usando Robotium?
  • (Robotium) Barra de acción arriba / botón de inicio haga clic
  • ¿Cómo puedo ejecutar una sola prueba con gradle android
  • Continuar las pruebas de Android después de una excepción
  • Robotium: ¿Cómo espero que termine la carga antes de continuar?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.