图中的关闭按钮实际上是不显示在 App Source 的
由于广告蒙版挡住需要关闭才能进行自动化测试的操作
这边是拿淘宝的 APP 做演示,实际上公司的 APP 广告层在顶部时是完全获取不到 App Source 所以无法执行点击
返回按钮不生效,无法关闭弹框(driver.keyevent(4))
图像识别操作坐标点击似乎不太稳定
网速测试软件文章源自玩技e族-https://www.playezu.com/190382.html
文章源自玩技e族-https://www.playezu.com/190382.html文章源自玩技e族-https://www.playezu.com/190382.html
未知地区 1F
坐标撒,屏幕宽高比例计算出坐标广告的样式很多种的,大小宽度都会变化,不是固定的坐标就行的,目前感觉 appium 不能操作的话只能靠图像识别返回坐标位置再去点击操作pip install popups图像识别不靠谱,还是老老实实的让开发加 id 吧 关闭的按钮太小了,识别不到我试了下,里面集成了 airtest 的图像识别。成功了一两次,可能还是图标太小了。不过方法还是很好的 还有一个问题是,如果集成到框架里,5037 端口也是 appium 所需要构建 session 连接的,这个图像识别完之后会导致 appium 的 driver 断开链接安装
命令行执行
pip install -U popups
使用 from popups.dismiss import popup, UT
# 默认是False状态,使用时需要打开
UT.ENABLE = True
# 图片模版路径,不传则使用popups自带的模版库
IMG_PATH = ‘your_tpl_path’
# 是否启用系统弹窗处理
UT.SYS = True
# 是否启用APP弹窗处理
UT.APP = False
# 是否是iOS系统
UT.iOS = True
# 循环执行次数,默认为1次
UT.LOOP = 1
# 超时时间,默认为5秒
UT.TIMEOUT = 5
# 单独使用popup时需要传入设备URL,配合utx使用时无需关注
DEVICE = ‘Android://127.0.0.1:5037/SJE5T17B17’
popup(devices=DEVICE)
只用 appium 框架么 图形识别考虑一下它可能是一个 PopupWindow(悬浮框)
通过 Android Studio 的 Layout Inspector 可以获取到当前 DecorView 之外的元素,然后获取它的 ID 等(如有)。
如图:
(uiautomatorviewer 只能获取到当前 DecorView )
使用 Layout Inspector 查看 APP 元素,需要当前在 App 上运行的为 debug 包,而非 release 包。