SuperAPI AI 工具集

unity-playmode-testing

测试与质量

查看项目

更新于 10-16 03:13

技能介绍

用途:该技能面向 Unity 运行时验证,是 unity-input-system(资源编写)与 unity-ui-automation(UI 交互)的运行时同类工具。适用于需要运行 EditMode 或 PlayMode 测试、进行运行时输入模拟、从当前游戏或编辑器状态截图/录像、查看测试进度或运行时状态的任务。

主要能力:控制 Play Mode;运行 EditMode/PlayMode 测试;模拟键盘、鼠标、游戏手柄、触摸输入,并支持组合输入序列(create_input_sequence,delayBetween 为毫秒);捕获截图与视频(mp4、webm 或 png_sequence);读取控制台与输入动作状态;支持在 Domain Reload 开启时跨重载恢复测试结果;可选 FastScriptReload 方法热重载预览。

使用方式:建议先用 get_editor_state 确认编辑器状态,再进入 Play Mode 或启动测试,等待运行时就绪后发送输入,最后干净地停止并报告状态。常见命令如: unity-cli raw play_game --json '{}' unity-cli raw input_keyboard --json '{"key":"space","action":"press"}' unity-cli raw capture_screenshot --json '{"captureMode":"game","width":1280,"height":720}' unity-cli raw run_tests --json '{"testMode":"PlayMode"}' unity-cli raw get_test_status --json '{}' unity-cli raw stop_game --json '{}' 加 --output json 时结果封装为 {success, command, data, errors, warnings},应先看退出状态与 success,失败码读 errors[0].code。

限制与注意:输入模拟需启用 Input System 且在 Play 会话中;设备状态本身不构成游戏回调触发的证据;get_input_actions_state 只检查资源映射,不证明回调已触发。若 capture_screenshot 返回 "fallback": "os",说明编辑器未响应(常为模态对话框),应检查桌面图像处理后再试,传 "osFallback": false 可获得超时错误。录像需图形化编辑器、安装 Recorder 且 Game View 可见。Domain Reload 期间的临时断连不算测试失败,应重连查询状态而非重复提交测试。热重载需可选 FastScriptReload 1.8.0、受支持的 macOS 编辑器、已编译基线与 Play Mode,并先关闭其自动与按需重载;预览不保存源码,验证后需用 unity-csharp-edit 持久化。