Robotium测试中关于Android 6.0 权限对话框的处理

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

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();}
}
这样,当弹出对话框时,点击“Allow”这个按钮,对话框就消失了,这样就不影响测试的执行。

至此,问题解决。


评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值