Midscene.js 上手实录:5 分钟跑通能操作真机的 AI E2E 自动化测试 Midscene.js 上手实录5 分钟跑通能操作真机的 AI E2E 自动化测试【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midscene版本一上线手动回归最耗人而且最卡的往往不是点击本身而是登录态——很多用例每次都要重新走一遍账号流程纯属浪费。Midscene.js 是一个由 GUI Agent 驱动的 E2E 测试框架所谓 GUI Agent就是能看屏幕、自己做操作的 AI 程序你用自然语言描述任务它负责截图分析再自动点击、输入并验证结果。这篇按最小闭环 按终端分场景的方式过一遍配好模型到发出第一条指令5 分钟以内。最小闭环从配模型到看见第一份报告第 1 步配模型。设 4 个环境变量指向一个支持 UI 定位的多模态模型服务export MIDSCENE_MODEL_BASE_URLhttps://ark.cn-beijing.volces.com/api/v3 export MIDSCENE_MODEL_API_KEYyour-api-key export MIDSCENE_MODEL_NAMEdoubao-seed-2-1-turbo-260628 export MIDSCENE_MODEL_FAMILYdoubao-seed第 2 步装扩展。从 Chrome 应用商店安装 Midscene浏览器右侧随即出现侧边栏。第 3 步贴配置。点侧边栏里的设置图标把上面 4 个值粘进设置页并保存。第 4 步发第一条指令。打开任意网页在侧边栏输入一句自然语言比如点击登录按钮。第 5 步看回放报告。执行完自动生成 HTML 报告每一步的截图、AI 决策和断言结果都能逐步回看。收尾动作把同一条指令连续跑两遍对比两份报告里各步的耗时顺便确认模型输出是否稳定。场景扩展按你要操作的终端来选执行报告失败步骤怎么一分钟找到所有 AI 测试都有同一个诉求跑挂了得知道挂在哪。报告在 Midscene 里是独立产物运行产物默认落在midscene_run目录报告、日志、缓存各占一个子目录每个 AI 步骤的输入、输出、耗时、状态单独记录点开 HTML 就能逐步查看决策过程和元素定位框想整体迁移产物位置设MIDSCENE_RUN_DIR环境变量即可收尾动作下次失败先看报告里卡住那一步的截图再看日志顺序反了。浏览器网页先体验再写代码扩展本身就是 Web 端的 Playground和 SDK 共享同一套实现侧边栏里验证过的指令写成脚本行为一致。想把它固化进工程在项目里安装midscene/web用aiAct、aiAssert、aiQuery这类 API 调用指令文本和你在侧边栏输入的完全相同。收尾动作挑一条你刚在侧边栏跑通过的指令用脚本形式复跑确认结果一致。Android 真机让 AI 看见手机屏幕手机上要跑起来的看这里开发者选项打开 USB 调试数据线连电脑终端执行adb devices -l出现设备序列号说明连接成功运行npx --yes midscene/android-playground弹窗里贴入 API Key输入打开浏览器搜索 SU7AI 自行规划并执行跑完打开报告手机上每次点击、滚动、断言都有截图留痕。收尾动作把这条指令原样搬进 Android SDK写进正式测试脚本。接管本地 Chrome复用已登录的浏览器用例卡在登录态上的看这里。桥接模式让本地脚本直接控制你桌面上已经登录的 Chromecookies 和插件状态原样复用项目里安装midscene/web和tsx代码里new AgentOverChromeBridge()接着调用connectNewTabWithUrl(url)扩展弹出确认窗点 Allow本次允许或 Always Allow以后都允许桌面 Chrome 新开标签页自动执行aiAct、aiAssert等 API 与浏览器内用法一致期间你还可以在旁边手动补操作收尾动作跑通一次后在 YAML 脚本里加bridgeMode: newTabWithUrl让同一流程走脚本版再验一遍。故障排查报错先对号入座报错现象可能原因处理方式Cannot access a chrome-extension:// URL其他扩展向页面注入了 iframe/script与 Midscene 冲突开发者工具里找到chrome-extension://开头的注入项记下扩展 ID到chrome://extensions禁用它刷新重试本地 Ollama 返回 403Ollama 默认限制了浏览器扩展的来源设环境变量OLLAMA_ORIGINS*放开来源限制Azure 上 GPT-5 点击位置偏移截图分辨率触发了服务端缩放逻辑用screenshotShrinkFactor把截图预先缩小后再发给模型配了 cache 却没有缓存文件cache 没配id只读模式下不会自动落盘确认cache带了id只读模式手动调agent.flushCache()本地命中缓存、CI 全部重算midscene_run/cache没进版本库把./midscene_run/cache目录提交进仓库adb devices只显示 unauthorized手机端还没确认 USB 调试授权在手机的授权弹窗里点一次允许改完任何一项重跑之前失败的流程用报告确认耗时和步骤状态恢复常态。参数速查什么时候该调它参数推荐值什么时候调它MIDSCENE_MODEL_NAME支持 UI 定位的多模态模型所有场景必配行为异常时第一个排查项cache{ id: 任务名 }调试期用读写模式重复跑同一条指令加速cache.strategyread-only生产环境防缓存被意外改写MIDSCENE_MODEL_TIMEOUT180000默认 180 秒模型响应慢、请求被超时打断时上调MIDSCENE_MODEL_RETRY_COUNT1默认网络不稳、偶发请求失败时加到 2-3bridgeModenewTabWithUrl用 YAML 脚本接管本地 Chrome 时开启MIDSCENE_RUN_DIR自定义路径报告、缓存要集中管理或迁移位置时以上为通用起点按你的模型和页面复杂度微调即可改完重跑一次、对比报告里的耗时变化。延伸阅读往哪一步深入想弄清报告是怎么生成的看 report-generator.ts想知道读写、只读、只写三种缓存策略的取舍读 缓存文档想接 iOS、HarmonyOS 或桌面端查 各平台指南【免费下载链接】midsceneGUI Agent for E2E Testing项目地址: https://gitcode.com/GitHub_Trending/mid/midscene创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考