相关疑难解决方法(0)

Android在每次测试开始时撤消权限

我正在使用Espresso和UIAutomator来编写我的测试用例.我正在测试外部存储权限,当它被拒绝时以及何时被允许.我有不同的测试用例,都需要在测试用例开始时撤销权限.但是,某些测试用例应该并且确实会导致授予权限,因此我需要在执行下一个测试时撤消权限.我一直在搜索,我遇到的最接近的事情是使用pm管理器执行adb shell命令来撤销权限.但是,通过这样做,我将收到以下错误,由于"进程崩溃",Instrumentation运行失败.有没有什么办法可以确保在每个测试用例开始时撤销权限?如果没有,如何解决有关测试权限的问题?提前谢谢你的帮助!

这是我目前在每个测试用例之前撤消权限的代码片段(不起作用):

@Before
public void setUp() {

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getInstrumentation().getUiAutomation().executeShellCommand(
                "pm revoke " + getTargetContext().getPackageName()
                        + " android.permission.WRITE_EXTERNAL_STORAGE");
    }
}
Run Code Online (Sandbox Code Playgroud)

尝试使用上面的代码段撤消权限时出现相应的错误消息:

Test failed to run to completion. Reason: 'Instrumentation run failed due to 'Process crashed.''.
Run Code Online (Sandbox Code Playgroud)

我也遇到过这两个帖子:这个这个.

android android-testing android-permissions android-espresso android-uiautomator

13
推荐指数
3
解决办法
3435
查看次数

无法运行aapt命令 - 不断返回"Android SDK Build-tools"

我正在尝试做的事情:在Mac OSX上安装Android构建工具,这样我就可以使用该aapt命令来处理/处理一些图像以进行测试

我做了什么:

  1. 使用brew安装Android SDK
  2. 运行该android命令以启动SDK Manager
  3. 使用Manager安装SDK工具(22.3),SDK Platform-tools(19),SDK Build-tools(19)和Android 4.4
  4. 我已经确认使用brew时工具已添加到默认位置.

会发生什么: 跑步aaptaapt v总是回来Use the 'android' tool to install the "Android SDK Build-tools".

我也尝试使用更新工具android update,但它仍然无法工作.

编辑: 运行完整的工作路径aapt v.我现在假设我有一个问题PATH,我仍然需要解决

任何关于下一步尝试的线索都将非常感激.

android

5
推荐指数
1
解决办法
2万
查看次数