首页 > 解决方案 > 如何使用 Appium C# 处理 Android 权限对话

问题描述

我正在将 Appium 与 C# 客户端一起使用。

启动 Android 应用程序时,我会收到几个类似这样的权限对话框。

安卓截图

我想点击“允许”或“拒绝”按钮,我无法使用下面的代码。

var Allow_Btn = driver.FindElementById("permission_allow_button");
Allow_Btn.Click();

经过大量谷歌搜索后,我发现我们可以使用以下功能跳过这些权限。

Capability.SetCapability("autoGrantPermissions", "true");

但我想知道是否有其他方法可以做到这一点。

提前致谢。

标签: c#androidselenium-webdriverappium

解决方案


我不知道你从哪里得到这个permission_allow_buttonID,我认为定位器不正确。

这是我在Android Device Monitor 应用程序中的样子

在此处输入图像描述

因此,如果您仍然想使用通过 ID 查找元素的策略- 您应该使用com.android.packageinstaller:id/permission_allow_buttonID。

另一种选择是用于XPath 选择器,例如:

  • //Button[@text()='ALLOW]
  • //Button[@resource-id='com.android.packageinstaller:id/permission_allow_button']

推荐阅读