Ejecución de gradle's connectedAndroidTest en un dispositivo específico
¿Cómo se ejecuta connectedAndroidTest
en un dispositivo en particular?
Yo esperaría algo así como:
- Android Studio, Gradle, OpenCV y NDK
- ¿Cómo puedo añadir una biblioteca (android-support-v7-appcompat) en IntelliJ IDEA
- Problemas al configurar el entorno de prueba de App Engine
- ¿Cómo puedo configurar Android Studio para que pueda compilar cuando esté desconectado (desconectado de Internet)
- Importar el proyecto de Android Studio de git en Android Studio (Gradle)
./gradlew connectedAndroidTest -DconnectedAndroidTest.device=XXXX
Tenemos una serie de dispositivos conectados a nuestro servidor CI y no puedo encontrar ninguna documentación sobre cómo orientar un dispositivo conectado específico.
connectedAndroidTest
ejecuta las pruebas en TODOS los dispositivos conectados actualmente.
Gracias.
- Proguard Nota para la clase desconocida 'Objeto' con Android Studio y Gradle
- Dependencia del proyecto gradle en la idea
- Importación de la biblioteca de Facebook en Android Studio: No se pudo encontrar la propiedad 'ANDROID_BUILD_SDK_VERSION'
- ¿Por qué falla mi prueba de unidad relacionada con JSONObject?
- ¿Cómo incluir dependencias en la biblioteca .aar?
- Cómo acceder a un buildConfigField en otro lugar dentro de un archivo de compilación de gradle
- Uso de SDK de Amazon Web Service para Android en Android Studio
- Android - gradle multiproject incluye y excluye bibliotecas
No es compatible. La documentación de connectedCheck
en http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Android-tasks , que delega a connectedAndroidTest
para este tipo de dispositivos que no son UI- Pruebas automatizadas, establece explícitamente:
Ejecuta comprobaciones que requieren un dispositivo o emulador conectado. Se ejecutarán en todos los dispositivos conectados en paralelo.
Hay una solicitud de característica para la capacidad de seleccionar dispositivos individuales; Puede seguir su progreso en https://code.google.com/p/android/issues/detail?id=66129
He creado un "hack" para poder hacerlo .. poner este bloque en la sección android
de su build.gradle , y luego tienes que establecer la variable ANDROID_HOME
env ANDROID_HOME
a la carpeta sdk, y la variable UNIT_TESTS_DEVICE_ID
env con el serial Número del dispositivo en el que desea ejecutar las pruebas.
deviceProvider(new com.android.builder.testing.ConnectedDeviceProvider(file(System.getenv("ANDROID_HOME") + File.separator + "platform-tools" + File.separator + "adb")) { public String getName() { return "singleDevice" } public List<? extends com.android.builder.testing.api.DeviceConnector> getDevices() { List<com.android.builder.testing.api.DeviceConnector> devices = super.devices; List<com.android.builder.testing.api.DeviceConnector> toReturn = new ArrayList<>(); String deviceSerialNum = System.getenv("UNIT_TESTS_DEVICE_ID"); devices.each { if (it.getSerialNumber().equals(deviceSerialNum)) toReturn.add(it); } if (toReturn.isEmpty()) { throw new RuntimeException("Device for unit tests not found!"); } return toReturn; } })
A continuación, utilice la tarea singleDeviceAndroidTest{Variant}
para ejecutar las pruebas. Probado sólo en el plugin gradle versión 1.0.0.
Parece una versión futura de acuerdo con este fragmento de código https://android-review.googlesource.com/#/c/160929/
- Cordova "release" se comporta de forma diferente a "debug" con respecto a SSL
- Agregar datos / atributos personalizados al botón de Android