首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何处理Appium android测试中的应用程序权限弹出(系统弹出,如设备位置/联系人列表)?

如何处理Appium android测试中的应用程序权限弹出(系统弹出,如设备位置/联系人列表)?
EN

Stack Overflow用户
提问于 2016-08-16 14:31:56
回答 6查看 8.7K关注 0票数 3

PFB守则:

代码语言:javascript
运行
复制
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检测出App权限的元素。但是,我们无法使用相同的元素ids运行脚本,因为没有通过脚本检测到这些元素ids。

我们尝试使用以下代码:

代码语言:javascript
运行
复制
**capabilities.setCapability("autoAcceptAlerts", true);**

这不管用。

我们甚至尝试使用:driver.switchTo().a‌​lert().accept();,这也是不起作用的。

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

EN

回答 6

Stack Overflow用户

发布于 2019-05-08 14:48:32

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

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

这将允许所有权限“是”

请注意:确保"noReset“在功能上是”真“。

票数 3
EN

Stack Overflow用户

发布于 2019-04-19 07:29:09

晚发邮件。

您可以使用下面的代码

代码语言:javascript
运行
复制
capabilities.setCapability(“autoGrantPermissions”, true);

这将授予应用程序的所有权限,并且不会请求任何权限。

票数 2
EN

Stack Overflow用户

发布于 2016-08-17 15:00:59

不幸的是,autoAcceptAlerts只适用于iOS。

并且,driver.switchTo().a‌​lert().accept();只适用于web视图。

我在用Appium检查器来找元素。下面的代码适用于本地应用程序-

代码语言:javascript
运行
复制
WebElement allowButton = driver.findElements(By.xpath("//android.widget.Button[@resource-id='com.android.packageinstaller:id/permission_allow_button'])"));
allowButton.click();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38977669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档