其他分享
首页 > 其他分享> > 如何在授予所有Android M权限的情况下运行单元测试?

如何在授予所有Android M权限的情况下运行单元测试?

作者:互联网

在安装Android应用程序时是否有允许adb命令行选项的gradle插件?我希望在Android M设备上运行robotium测试,同时忽略弹出要求摄像头,麦克风等权限的权限对话框.

解决方法:

在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
    }
}

标签:robotium,android,unit-testing
来源: https://codeday.me/bug/20190727/1557361.html