如何为iOS本机移动应用程序自动化处理默认系统生成的弹出窗口?

如何为iOS本机移动应用程序自动化处理默认系统生成的弹出窗口?,ios,Ios,我正在为本机应用程序进行ioS移动自动化测试 在模拟器中打开应用程序时,我收到系统生成的位置警报“…想使用您当前的位置”。我无法使用Selenium处理此问题,因为我无法使用Inspector捕获此警报框 在功能的帮助下(设置功能时),是否有任何方法可以处理此问题 我还尝试设置以下功能,但这不起作用: Capability-type.ACCEPT_SSL_证书,true) CapabilityType.SUPPORTS_警报,true) “自动接受者` 我使用的是Java+Appium+Web驱

我正在为本机应用程序进行ioS移动自动化测试

在模拟器中打开应用程序时,我收到系统生成的位置警报“…想使用您当前的位置”。我无法使用Selenium处理此问题,因为我无法使用Inspector捕获此警报框

在功能的帮助下(设置功能时),是否有任何方法可以处理此问题

我还尝试设置以下功能,但这不起作用: Capability-type.ACCEPT_SSL_证书,true) CapabilityType.SUPPORTS_警报,true) “自动接受者`

我使用的是Java+Appium+Web驱动程序+Sikuli


请对此提供帮助。

应该能够在
capabilities.setCapability(“自动接受程序”,true)

我曾经遇到过这个令人讨厌的问题。我不敢说,经过大量的努力,我发现没有办法解决这个问题,除了iOS应用程序的开发人员实际上不得不在应用程序启动后几秒钟而不是立即显示弹出窗口。然后只有
自动接受程序才能工作。甚至
自动如果弹出窗口在启动时正确显示,则Acceptalers对我不起作用。

系统生成的弹出窗口应具有可使用Appium Inspector找到的XPath等


只需点击弹出窗口上的必要按钮,通过向该按钮提供xpath使其关闭。

我今天在选择允许推送通知的警报时遇到了同样的问题。我通过从Appium.app运行应用程序并使用inspector访问元素来解决了这个问题。(我之前使用Appium ruby控制台启动它)

要从appium.app运行,请单击Apple单选按钮以打开设置页面。此处设置要安装的.app文件和要运行的设备。启动节点服务器并按inspector按钮。生成的Java代码如下:

driver.findElement(By.name("OK")).click();

希望这对我有帮助

当我在测试开始时设置
线程.睡眠
自动接受程序
所需功能
正确
在所需功能字典中添加以下内容时,这对我有效

'waitForAppScript': '$.delay(5000); true',
'autoAcceptAlerts': True

请详细解释如果您不想使用此功能,您可以关闭定位服务。这样应用程序就不会请求用户许可。嗨,Tiny,我尝试过使用“自动接受器”“但这不起作用。是否有其他能力类型可以处理此问题。请帮助!设置
locationServicesAuthorized
我尝试使用locationServicesAuthorized:true,但在这种情况下,我无法初始化驱动程序对象。驱动程序对象为空。是否有其他方法使用locationServicesAuthorized。我遇到的问题与此问题的原始海报相同。问题在于,当通过Inspector启动应用程序时,它将不会显示在Inspector/recorder中,直到警报(“请允许通知”)被手动接受。设置功能(autoAcceptAlert对这些系统或操作系统级通知都不起作用)