AI测试 基于视觉模型的 APP 自动弹窗检测及关闭

Fun_Fox · 2025年03月14日 · 最后由 Fun_Fox 回复于 2025年03月17日 · 1665 次阅读

SmartDigger 项目

项目简介

SmartDigger 是一个基于 Appium 及视觉大模型的智能移动应用测试工具。它能够自动检测应用界面中的弹窗,并智能处理各种弹窗场景,同时生成详细的元素边界数据报告,为移动应用测试提供高效、智能的解决方案。

功能特性

  • 设备信息获取:自动识别连接的 Android 设备,获取设备名称、分辨率等信息
  • 界面元素分析:实时截取应用界面,智能分析可点击元素及其边界信息
  • 弹窗智能处理:基于视觉大模型识别各类弹窗,自动执行关闭操作
  • 数据报告生成:自动记录元素边界信息,生成详细的 Markdown 格式报告
  • 异常处理机制:内置完善的错误处理机制,确保检测流程的稳定性

环境要求

  • Python 3.8+
  • Appium Server 1.22.0+
  • Android 设备或模拟器(Android 8.0+)
  • 视觉大模型 API 访问权限

运行效果

Case 1

系统

  • 截图标注

  • 运行日志

Case 2

抖音

  • 截图标注

  • 运行日志 ng)

参考

项目地址

https://gitee.com/grabby_Tester/smart-digger

共收到 9 条回复 时间 点赞

先点赞,后评论。👍
个人认为需要处理的弹窗:应该是那种属性取不到的,且像叉号这种类型的弹窗。要能在不依赖页面结构的情况下识别到弹窗的叉号。(看图 2 可以看出应该用到了获取页面结构)

哲豪 回复

嗯,这种尝试过的,给大模型手机分辨率后,让模型返回按钮坐标。
这种对模型的能力要求有些高。之前尝试过,返回的坐标容易不正确。
但可以看一下 mobile_agent 这部分代码,是阿里视觉模型的,没有依赖页面结构

大模型在区分所谓 自动弹窗 vs 期望弹窗 上真的会很优秀?准确率和召回率你有数据吗?只是 run 了几个例子,还是要不停地尝试啊

大佬想请教下其中的实现细节。调用视觉大模型 API 传的参数和在整个自动化过程中什么时候调用大模型 API

我也觉得适应度不是很高,但是解决弹窗问题目前也没有什么好方法

大佬,受教了,后面研究一下

云青 回复

解决弹窗,还有一种使用 OCR 的方式,但实现逻辑比较复杂。

云青 回复

在自动化脚本执行失败,大模型介入进行 “诊断”。

纯视觉的可以研究看一下这个例子
https://github.com/X-PLUG/MobileAgent/blob/main/README_zh.md

需要 登录 後方可回應,如果你還沒有帳號按這裡 注册