弹窗处理
背景
很多伙伴们在学习 App 自动化或者在项目中落地实践 App 自动化时,会发现编写的自动化脚本无缘无故的执行失败、不稳定。
而导致其问题很大原因是因为应用的各种弹窗(升级弹窗、使用过程提示弹窗、评价弹窗等等),比如这样的: 如果不对这些弹窗进行处理,将会中断自动化脚本的运行,从而导致脚本执行不稳定。
因为弹窗有时候是随机出现的,并不是按照固定的路径复现,所以不能按照常规元素定位给点掉。
我们可以利用 try…catch…异常处理机制:当正常元素定位不到时捕获异常,进入到异常处理场景,再然后定位弹窗元素,存在则点掉。
这里以 bilibili 的首页弹窗为例: 对应思路代码实现:
try {
driver.findElement(By.id("tv.danmaku.bili:id/drawer_handler")).click();
}catch (Exception e){
//找不到对应的元素就进入到弹窗的处理机制中来
driver.findElement(MobileBy.AndroidUIAutomator("new UiSelector().text(
关注
打赏