c# - 如何使用 Appium C# 处理 Android 权限对话
问题描述
我正在将 Appium 与 C# 客户端一起使用。
启动 Android 应用程序时,我会收到几个类似这样的权限对话框。
我想点击“允许”或“拒绝”按钮,我无法使用下面的代码。
var Allow_Btn = driver.FindElementById("permission_allow_button");
Allow_Btn.Click();
经过大量谷歌搜索后,我发现我们可以使用以下功能跳过这些权限。
Capability.SetCapability("autoGrantPermissions", "true");
但我想知道是否有其他方法可以做到这一点。
提前致谢。
解决方案
我不知道你从哪里得到这个permission_allow_button
ID,我认为定位器不正确。
这是我在Android Device Monitor 应用程序中的样子
因此,如果您仍然想使用通过 ID 查找元素的策略- 您应该使用com.android.packageinstaller:id/permission_allow_button
ID。
另一种选择是用于XPath 选择器,例如:
//Button[@text()='ALLOW]
//Button[@resource-id='com.android.packageinstaller:id/permission_allow_button']
推荐阅读
- r - 如何在survminer(ggforest)中向森林图添加箭头
- c++ - 服务器可以接受来自另一个子网的连接吗?
- javascript - 如何将深层表单数据作为数组或对象发送?
- python - 使用 Databricks 将 Google Api 的结果写入数据湖
- c# - 我的 css 文件不适用于 xmlworkloader
- c# - 如何使用 C# 使表格中的文本在 PowerPoint 上具有轮廓?
- pytorch - 使用 2d 张量索引 3d 张量
- java - 我在哪里可以下载 Java Mission Control(7)(OpenJDK11 或更高版本)?
- javascript - 从正文中获取所有文本并根据标签拆分
- visual-studio - Visual Studio 2019 下 tcm.exe 测试用例 /import 的替代方案