我在Google/StackOverflow中搜索了很多次以寻求答案。
本来(在Android 6.0之前)我的自动化代码运行顺利,但现在所有的东西都被权限所需的对话框阻止。
我的应用程序需要将数据保存到SD卡中,并且我发现我无法使用Selendroid自动化来解除运行时测试期间由com.android.packageInstaller进程创建的SD卡权限所需的对话框。
我知道我可以手动预配置我的应用程序的权限,但每当我用Jenkins重新安装我的应用程序,或者开始一个新的Selendroid测试我的应用程序时,所有配置都将被清除。在Selendroid自动化测试中关闭Android 6.0权限所需对话框
从我目前的理解,这里是解决这一问题的可能途径:
1.添加“NORESET”标志告诉Selendroid不消灭当前的设置,但我不能找到它selendroid.io
2 。使用Appium(他们的文档说他们有Android的NoReset标志),但是这需要一些时间才能将我的代码从Selendroid移植到Appium。
移植完成后,我只能知道它是否有效。
3.谷歌提供的任何其他方式,但我无法找到它。
如果有人遇到过类似的问题并有一些信息可以与我分享,我将非常感谢您的帮助,谢谢。
所以现在你的问题是,当您尝试保存一些数据SCARD,一些对话框弹出来了,你要处理呢?如果你按下对话框上的某个按钮,它会起作用吗?对于你的“可能的方式#3”,你到底想要自动化到底是什么? – Rilwan
我想要做的就是在每次出现对话框时接受对话框。 我曾尝试使用Selendroid接受,但他们都没有工作。 Selendroid告诉我它找不到SD卡权限所需的对话框元素,可能的原因是Selendroid只能操纵我的App,但不能解开由System创建的对话框。 当然,我可以手动解雇它,没有任何问题。 – holy934
你可以按下“接受”按钮或使用android uiautomator轻松处理对话框。或者你可以使用'adb shell input keyevent'来导航并按下对话框上的按钮。 – Rilwan