Robotium测试中关于Android 6.0 权限对话框的处理
Android 6.0 加入了一些权限处理,当程序第一次安装启动的时候会弹出 权限提示对话框,点击 接受后,才能继续操作。
如图:
问题原因:
由于Robotium不能垮应用测试,所以针对这个的如果使用Robotium的话,没办法处理。
我们用hierarchyviewer.bat这个工具(路径:sdk\tools)来看下这个对话框的层级结构
解决方法:
由于Android测试中的 UIAutomator 测试框架 可以做跨应用的测试,这样我们的问题就可以得到解决。
在我们测试写个方法(在测试开始时调用):
public void handleAndroidPermissionDialog() { UiDevice test= UiDevice.getInstance(getInstrumentation()); UiObject btnAllow=new UiObject(new UiSelector().text("Allow")); //点击文字为“Allow”的UiObject对象 try { btnAllow.click(); } catch (UiObjectNotFoundException e) { e.printStackTrace();} } |
至此,问题解决。

Android 6.0引入了运行时权限,导致 Robotium 无法直接处理权限对话框。通过使用UIAutomator测试框架,可以实现跨应用测试,解决此问题。测试开始时调用相应方法,确保权限对话框被正确处理。
1738

被折叠的 条评论
为什么被折叠?



