快速上手 Maestro AI:3 步让 AI 提取屏幕文字、揪出 UI 缺陷
2026/9/11 7:10:10 网站建设 项目流程

快速上手 Maestro AI:3 步让 AI 提取屏幕文字、揪出 UI 缺陷

【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro

这些测试痛点,你是不是也遇过

屏幕上动态渲染出来的金额、验证码,节点树里根本抓不到,断言无从下手。视觉回归呢,全靠肉眼一张张翻截图,翻到后面谁也不敢保证没漏。Maestro 的 maestro-ai 模块就是冲着这两个头疼事来的。

60 秒认识 Maestro AI

maestro-ai 模块把截图交给 AI 来读:测试和开发不用写 OCR,就能提取屏幕上的文字、自动挑 UI 缺陷。

怎么用 AI 提取屏幕上的动态文字

先说个典型场景:页面上的优惠券金额是 canvas 画的,节点树里没有这个元素,传统定位断言一律失灵。

它怎么做到?打开 IAPredictionEngine.kt 你会发现,AI 能力被抽象成 3 个方法,其中一个就是 extractText。它把截图字节流加上一句自然语言查询(比如"页面余额是多少")一起发给云端模型,模型读完图直接把答案字符串还给你。这跟模板匹配的 OCR 不是一回事,更接近"看懂了再回答",复杂背景、多语言都能应付。

你会得到什么:一段干净的文本,存进变量就能接正则或断言,不用再跟元素定位死磕。

怎么让 AI 替你揪出 UI 缺陷

典型场景:新版本发版前,几十张设备截图要挨个看——文字溢出、颜色对不上、布局错位,人眼盯多了真的会漏。

实现上,findDefects 把截图发给云端服务(接口是 /v2/find-defects),拿回来的是一串 Defect,每条带 category 和 reasoning,说清它归在哪一类、为什么算缺陷。想查得更聚焦,就换 performAssertion:传一句断言进去,有问题返回一条 Defect,没问题返回 null,适合当"定向体检"用。

你会得到什么:一份带分类和理由的缺陷清单。demo 程序还能批量回归——截图按"应用名_序号_good|bad.png"命名丢进去,它逐张判定 PASS/FAIL,假阳性、假阴性都帮你标出来。

3 步把 Maestro AI 跑起来

  1. 配密钥:export MAESTRO_CLI_AI_KEY(OpenAI 或 Anthropic 的 key 都行),云端服务另需 MAESTRO_CLOUD_API_KEY。
  2. 构建 demo:跑 ./gradlew :maestro-ai:installDist,产物落在 maestro-ai/build/install/maestro-ai-demo/bin/ 下。
  3. 指向截图开跑:文件名符合"应用_序号_good|bad.png"规则即可,换模型加 --model,批量评估可加 --parallel。
export MAESTRO_CLI_AI_KEY=sk-... ./gradlew :maestro-ai:installDist ./maestro-ai/build/install/maestro-ai-demo/bin/maestro-ai-demo foo_1_bad.png

进阶技巧:调好客户端,省 token 提速

  1. 云端地址可换:ApiClient 读 MAESTRO_CLOUD_API_URL 环境变量,默认指向 api.copilot.mobile.dev;连接、读取超时分别是 10 秒和 60 秒,写在客户端默认配置里。
  2. 排查问题加 --show-prompts 和 --show-raw-response,把发出去的提示词和模型原始回复摊开看,对比不同模型时尤其有用。
  3. 截图先裁剪:只把关注区域喂给模型,响应更快、成本更低。
  4. 调温:temperature 默认 0.2,断言类任务建议保持低温,输出更稳定。

常见问题

Q:整个屏幕都是图片或 canvas 渲染,节点树是空的,还能断言吗?

能,这正适合它的场景。两个功能吃的都是截图字节流,跟底层用什么渲染无关。

Q:能离线跑吗?

截图分析目前走云端服务(地址可用 MAESTRO_CLOUD_API_URL 覆盖),没有纯离线路径;不过模型侧在 OpenAI 和 Anthropic 之间可自由切换,方便控制供应商。

Q:怎么量化 AI 判断的可靠性?

用 good/bad 命名约定准备一批已知答案的截图,加 --show-only-fails 只看失败项,假阴假阳一目了然。

写在最后

AI 判图再灵也只是辅助,关键断言结论还是要人工复核。更多构建与用法细节,见 maestro-ai/README.md。

【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询