
MaaEnd节点测试教程如何用测试用例验证识别稳定命中【免费下载链接】MaaEndMaaEnd 终末地小助手基于视觉 AI 的「明日方舟终末地」自动化工具项目地址: https://gitcode.com/gh_mirrors/maa/MaaEndMaaEnd 是基于视觉 AI 的《明日方舟终末地》自动化工具。本文讲解 MaaEnd 的节点测试玩法用一张张静态截图 一份 JSON 测试用例快速验证识别节点该命中的命中、不该命中的不命中把靠感觉能跑的流程变成可回归、可维护的稳定识别。一、节点测试是什么什么时候用MaaEnd 的自动化流程由一个个识别节点串成。某个按钮模板改动了、某个 ROI 调过了、某个新场景上线了都会影响识别稳定性。节点测试就是给这些节点做体检✅ 适合验证识别节点、通用节点、场景判断节点是否稳定命中✅ 适合补回归改完模板 / ROI / 阈值后确认没有误伤旧场景❌ 不适合验证完整流程时序流程正确性要结合开发工具和实机调试官方开发手册详见 node-testing.md这是编写测试用例前最值得先读的一份资料。二、3 分钟看懂目录结构测试用例和截图都放在tests/下约定如下内容位置测试用例JSONtests/下任意子目录文件名必须匹配test_*.json测试截图tests/MaaEndTestset/控制器/资源服/下几个关键约定image字段要写完整截图文件名并显式包含扩展名例如帝江号_大世界.png截图分辨率统一 1280×720模板和坐标都以 720p 为基准运行时自动缩放用 VS Code 的 Maa Pipeline Support 插件CtrlShiftP→Maa: Screenshot截图放到对应目录即可。以现有用例 test_region.json 为例它针对地区识别准备了一组正例大世界主页应命中InWorld四号谷地地区建设应命中InRegionalDevelopmentValleyIV武陵则命中InRegionalDevelopmentWuling。一个测试文件只测一类能力失败时也好定位原因。三、测试用例怎么写hits 是灵魂每个用例文件都受 test.schema.json 约束顶层只有两个部分configs这组测试跑在哪个控制器Win32/ADB和哪个资源服官服上cases一张截图对应一个用例每个用例必须有image和hits。hits表示这张图期望命中的节点列表支持三种写法只写节点名——只关心有没有命中最常用节点名 box——同时校验识别框位置格式为[x, y, 宽, 高]适合全屏搜索、同屏多个相似目标的节点box 写成矩阵——不同控制器坐标有差异时可以为Win32和ADB各写一份坐标还能用default做兜底。另外别忘了负例hits写成空数组[]就表示这张图上不该命中任何节点。负例是拦住误识别的关键尤其适合那些容易串台、容易和相邻按钮混淆的节点。四、控制器矩阵一份用例跑两个平台configs.controller写成数组时同一个测试文件会在Win32和ADB两个截图目录里各执行一轮坐标差异用 box 矩阵解决即可不必维护两份重复文件。展开逻辑实现见 loader.mts。如果差异只体现在坐标上保留一个文件 矩阵 box如果截图和命中节点本身都不一样再拆成独立文件。五、一键运行pnpm test安装依赖后在项目根目录执行pnpm test这条命令由 package.json 中的test脚本映射到maa-tools testCI 跑的也是同一条命令。测试日志默认输出到tests/maatools/跑失败了怎么排查先看终端输出定位失败的用例再打开tests/maatools/error_details.json查看具体原因节点没命中、box 不匹配等。如果只是想先检查配置和资源是否符合约定可以执行pnpm check。六、提交前自查清单文件名符合test_*.jsonconfigs.resource/configs.controller在 maatools.config.mts 中有映射image写全了扩展名且对应目录里真的存在这张截图正例、负例都覆盖了真实易错场景Hover 态、弹窗、相邻地区 UI 等位置敏感的节点补了box断言改完模板、ROI、阈值后重跑过一遍pnpm test。写在最后节点测试的价值是在后续重构、调阈值、换模板时帮你兜底。用例写得越完善识别就越稳——这正是 MaaEnd 这类视觉 AI 自动化工具长期可用、可持续维护的底气所在。动手写第一份用例吧从你最近改过的那个按钮节点开始 【免费下载链接】MaaEndMaaEnd 终末地小助手基于视觉 AI 的「明日方舟终末地」自动化工具项目地址: https://gitcode.com/gh_mirrors/maa/MaaEnd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考