环境: 操作系统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");
结果: 它不起作用
答案 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',
有同样的问题,这为我解决了。