如何使用Appium自动接受警报 - 权限Android 6.0

时间:2017-06-07 06:49:21

标签: android permissions appium alerts

环境: 操作系统Windows 7 Appium 1.4.16.1 Android模拟器6.0

我需要自动接受任何权限提醒(Android 6.0 - 短信,位置等)。

我尝试了什么: 1)driver.switchTo()。alert()。accept();

结果:

org.openqa.selenium.WebDriverException: Not yet implemented. Please help us: http://appium.io/get-involved.html

2)设置功能:

capabilities.setCapability("autoGrantPermissions", "true");
capabilities.setCapability("autoAcceptAlerts", "true");

结果: 它不起作用

6 个答案:

答案 0 :(得分:2)

它不会在appium中工作。如果您的提醒包含“允许”#39;按钮。尝试使用以下代码:

driver.findElementByAccessibilityId("ALLOW").click();

这将点击"允许"按钮,表示接受警报。

答案 1 :(得分:1)

您可以在启动应用程序之前为应用程序提供所有必需的权限。以下是所需权限的命令列表。您可以通过Java代码执行这些命令。

    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.READ_EXTERNAL_STORAGE
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.WRITE_EXTERNAL_STORAGE
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.ACCESS_FINE_LOCATION
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.CAMERA
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.READ_CONTACTS
    adb -s yourDeviceSerialNumber shell pm grant your.app.packagename android.permission.WRITE_CONTACTS

答案 2 :(得分:1)

只需将'autoGrantPermissions': 'true',添加到您想要的功能中即可!

请注意!这将自动接受所有适用的权限,并且仅对android系统权限有效。这不适用于应用程序自定义的开发权限。

答案 3 :(得分:1)

肯定会为您工作。

DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS,true);

答案 4 :(得分:0)

    capabilities.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS,true);

它确实有效。你可以试试。

答案 5 :(得分:0)

尝试添加功能: 'autoGrantPermissions': 'true',

有同样的问题,这为我解决了。