¿Cómo ejecutar pruebas de unidad con todos los permisos de Android M concedidos?
¿Hay un complemento gradle que permite opciones de línea de comandos adb cuando se instalan aplicaciones de Android? Estoy buscando para ejecutar pruebas de robotium en un dispositivo Android M, mientras se ignoran los diálogos de permisos que aparecen para pedir permisos de cámara, micrófono, etc.
- Servicios Roboeléctricos y de Intención
- ¿Cómo puedo usar Active Android con una base de datos en memoria para las pruebas de unidad usando Robolectric?
- Prioridad de hilo: 'prueba de unidad'
- Error en la automatización de las pruebas de interfaz de usuario de Android en Jenkins-Server debido a complejas dependencias del proyecto lib de los proyectos principales.
- Archivo de cobertura de código Jacoco vacío que conduce a informes de cobertura falsa
- ¿Cómo obtengo un reporte de cobertura de jacoco usando el complemento Android gradle 0.10.0 o superior?
- ¿Por qué obtengo un NoClassDefFoundError al ejecutar mi prueba en ActionBarActivity?
- Eliminación de contactos (crudos) en Android 2.x
- Robolectric filenotFound en archivos de activos
- Cobertura de código con jacoco para una biblioteca de Android
- Android, Gradle. Cómo construir aplicaciones y ejecutar pruebas desde la aplicación de prueba
- Cómo deshabilitar las pruebas de unidad de estudio de Android (androidTest)
- ¿Existe una manera de escribir una prueba de unidad para una API de destino
En build.gradle
task grantPermissions(type: Exec, dependsOn: 'installDebugAndroidTest') { def permissions = ['INTERNET', 'GET_ACCOUNTS', 'WAKE_LOCK', 'VIBRATE', 'READ_CONTACTS', 'RECORD_AUDIO', 'CAMERA', 'WRITE_EXTERNAL_STORAGE', 'READ_EXTERNAL_STORAGE'] permissions.each { commandLine "\$ANDROID_HOME/platform-tools/adb shell pm grant com.singlewire.cirrus android.permission.${it}".split(' ') }} tasks.whenTaskAdded { task -> if (task.name.startsWith('connectedDebugAndroidTest')) { task.dependsOn grantPermissions } }
android.productFlavors.all { flavour -> def applicationId = flavour.applicationId def adb = android.getAdbExe().toString() def grantPermissionsTask = tasks.create("grant${flavour.name.capitalize()}Permissions") << { "${adb} shell pm grant ${applicationId} android.permission.ACCESS_FINE_LOCATION".execute() "${adb} shell pm grant ${applicationId} android.permission.ACCESS_COARSE_LOCATION".execute() } grantPermissionsTask.description = "Grants permissions for Marshmallow" tasks.whenTaskAdded { theTask -> def assemblePattern = ~"assemble${flavour.name.capitalize()}DebugAndroidTest" if (assemblePattern.matcher(theTask.name).matches()) { theTask.dependsOn grantPermissionsTask.name } } }
Usted puede hacerlo para las pruebas de instrumentación, no sólo para las pruebas de unidad. Referencia
- cómo pasar los parámetros a la urlconnection en java / android?
- GridView con ancho de columna diferente en filas