之前写的自动化脚本中没有处理权限弹窗(使用的 appium 1.7.2,mac 平台,基于苹果 XCUITest 框架下无法在服务器参数设置中使用 autoAcceptAlerts 参数),每次跑用例前都得手动将弹窗全部点掉后才能跑用例,没有做到真正的自动化,这两天工作不忙,把这个问题给解决了。发现有两种方法可以用,appium 其他版本应该也可以使用:
方法 1:直接对弹窗上的 “允许” 按钮进行定位,执行点击操作
while True:
if u´不允许´ in self.driver.page_source:
base.click(base.get_predicate(u´name == "允许" OR name == "好"´))
break
方法 2:使用 switch_to.alert.accept() 方法
while True:
if u´不允许´ in self.driver.page_source:
self.driver.switch_to.alert.accept()
break
推荐使用方法 2,此处用 while 是等待弹窗出现进行处理,弹窗出现的快的话,直接用 if 就可以了