创建和使用测试项目
本文从创建项目开始,介绍如何运行示例、了解可用的测试操作、编写 YAML 用例和查看运行结果。已有 Midscene Test 项目的读者可以直接从了解可用的测试操作开始。
整体设计见 Midscene Test 概览。业务操作的实现方式见编写自定义 Node,运行环境和执行参数见配置测试项目。
创建项目
1. 生成项目文件并安装依赖
准备 Node.js ^20.19.0 || ^22.12.0 || >=24.0.0 和 pnpm。需要交互式引导时,运行:
命令会依次提示选择项目目录、平台、包管理器,以及是否安装依赖。也可以直接传入参数,例如使用 pnpm 创建 Web 测试项目:
可用参数如下:
每个平台目前提供一个起步模板,通过 --platform 选择,均使用原生 cases/steps Test 文件。在 CI 等非交互式环境中,必须提供目录和 --platform;未设置 --skip-install 时会安装依赖。
常用示例:
按提示安装依赖。命令会生成平台配置和示例用例,安装依 赖后还会生成 Node 说明书。Web 项目的主要文件如下:
其他平台模板在 midscene.config.ts 中定义 todo.setup,不包含 nodes/todo.ts,说明书文件名使用对应平台名称,例如 midscene-node-spec.ios.md。创建项目和生成说明书不会运行测试,因此这一步不需要模型 API Key、浏览器或设备。生成项目中的 README 会说明平台准备和示例运行方式。
如果跳过安装或安装失败,可以进入项目目录执行 pnpm install。需要重新生成 Node 说明书时,执行 pnpm run nodes。
2. 配置模型与运行环境
将 .env.example 复制为 .env,按照模型配置填写模型名称、服务地址和 API Key。
运行测试前,检查模型连接和 Midscene 兼容性:
命令会读取当前工作目录下的 .env,并覆盖已有的 Shell 环境变量,无需浏览器或设备。详见模型高级配置与调试。
Web 项目还需要安装 Chromium:
其他平台在创建时修改 --platform,并完成对应准备:
3. 运行生成的示例
五个平台的模板都使用在线 React TodoMVC,演示添加、删除和完成任务。运行测试的浏览器或设备需要能访问该网站。
Web 模板在每条用例前通过 todo.setup 打开 All 视图、清空页面存储并重新加载,使用 DOM 确认列表为空,再由 todo.seed 添加三个任务,第一条用例校验初始状态,第二条用 AI 删除和完成任务后校验结果;每条用例后由 todo.captureState 记录页面状态。Android、iOS、HarmonyOS 和桌面端模板使用 AI 添加三个任务、删除一个、完成另一个、切换到已完成筛选,并校验结果。修改任务前,这些模板先通过 todo.setup 打开 All 视图并等待输入框,再由 aiAssert 检查列表为空(包含已完成任务)且没有遮挡弹窗。已有任务会保留;检查失败时,请切换到 All 删除全部任务,或仅清除 TodoMVC 网站的数据,关闭遮挡弹窗后重新运行。模型或连接异常应先按报告中的原因排查。AI 检查可能误判,失败时请结合报告确认页面状态。所有模板均串行运行,首次用例失败即停止后续用例(test.bail: 1),同时正常保存报告、释放资源。
运行结束后,可以在 midscene_run/report/ 查看报告,了解各用例及步骤的执行结果。随后修改 cases/todo.yaml 编写自己的用例,可用操作及其参数以生成的 Node 说明书为准。

