gpt4 book ai didi

java - 如何在操作系统 Marshmallow 及以上版本的 Appium android 测试中处理应用程序权限弹出窗口(系统弹出窗口,如设备位置/联系人列表)?

转载 作者:行者123 更新时间:2023-12-01 21:22:04 25 4
gpt4 key购买 nike

PFB代码:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); //Name of mobile web browser to automate. Should be an empty string if automating an app instead.
capabilities.setCapability(CapabilityType.VERSION, "6.0");
capabilities.setCapability(CapabilityType.PLATFORM, "Android");
capabilities.setCapability("deviceName", <deviceID>);
capabilities.setCapability("locationServicesAuthorized", true);
capabilities.setCapability("appPackage",<Package Name for app under test >); //Replace with your app's package
capabilities.setCapability("appActivity",<Activity Name for app under test >); //Replace with app's Activity
driver = new AndroidDriver<AndroidElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

当被测试的应用程序首次启动时,它会显示位置权限弹出窗口。弹出元素的资源 ID 为:com.android.packageinstaller:id/dialog_container这是被测应用程序的外部包。我们能够使用 uiAutomatorViewer 检测弹出的应用程序权限元素。但是,我们无法使用相同的元素 ID 运行脚本,因为脚本未检测到这些元素 ID。

我们尝试使用以下代码:

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

这不起作用。

我们甚至尝试过使用:driver.switchTo().a‌​lert().accept();这也行不通。

如有任何建议,我们将不胜感激。

最佳答案

位置、存储、相机等应用程序权限可以通过这些功能接受

capability.setCapability("autoGrantPermissions", "true");

这将允许所有权限"is"

请注意:确保功能中的“noReset”为“true”。

关于java - 如何在操作系统 Marshmallow 及以上版本的 Appium android 测试中处理应用程序权限弹出窗口(系统弹出窗口,如设备位置/联系人列表)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38977669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com