前言:
最近在搞 appium 自动化,iOS 的系统弹窗是大家都会遇到的,本文来总结处理这种弹窗的用法。


环境
MacOS:10.13.4
Appium-desktop:1.6.1
Xcode:9.3.1


一、使用 switch_to.alert 处理弹窗

#所有弹窗默认允许
self.driver.switch_to.alert.accept()

首先推荐这种方式,几乎不会失败。解决这个问题之后,作者默默的高兴了一中午。


二、使用 App Inspector 定位弹窗元素

#弹窗中允许按键,查看该元素的xpath。

xpath为://XCUIElementTypeApplication[1]/XCUIElementTypeWindow[6]/XCUIElementTypeOther[2]/XCUIElementTypeAlert[1]/XCUIElementTypeOther[1]

self.driver.find_element_by_xpath(locator).click()

这种情况有时候会识别不到元素,从而失败,导致自动化用例无法继续运行,建议使用第一种方法。


三、错误方法:'autoAcceptAlerts': True
Appium 更新后,改为使用 XCUITest 后,该参数:autoAcceptAlerts 已经废弃,官网已经详细说明,请大家及时更新信息,不要被这个问题所困扰。


以上,对你有帮助的话,请点赞吧~~


↙↙↙阅读原文可查看相关链接,并与作者交流