¿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)
- Robotium: Instale un nivel de API Android compatible (15 o superior)
- Prueba de prueba de Android recurso
- Cómo inyectar el evento de clic con Android UiAutomation.injectInputEvent
- No se puede ejecutar Robotium en Android Studio con sólo APK
- Haciendo clic en los elementos del menú de la barra de acción en Robotium
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 🙂
- ¿Cómo puedo realizar mis pruebas independientes de Robotium UI en paralelo?
- ¿Robotium es confiable para probar cuán rápido comienzan las actividades y fragmentos?
- Interfaz Android robotium pruebas con Teamcity
- Cómo generar informes para Android Automation
- No se puede conseguir que Robotium funcione en Android Studio
- ¿Por qué Robotium es más lento cuando realiza tareas sencillas de interfaz de usuario en comparación con el código nativo de Android?
- Ejecute la prueba Junit utilizando la instrumentación de android en un paquete con clases en orden específico
- Comprobar la existencia de un fragmento usando Robotium - Android
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 .
- ¿Cuál es la diferencia entre .string () y .toString () para OkHttp?
- ¿Qué significa esta declaración de retorno de Java?