编写自定义 Node
自定义 Node 将业务操作封装为用例作者可以在 YAML 中调用的步骤。本文介绍输入定义与校验、跨 Node 数据共享,以及执行与清理。
尚未创建测试项目时,请先阅读创建和使用测试项目。平台环境、Agent 接入和运行参数见配置测试项目。
- 注册 Node:定义操作、在 YAML 中调用,并通过生成 Node 说明书验证注册。
- Node 执行参数:区分业务参数与框架的步骤配置。
- 跨 Node 共享上下文:创建、读取和重置共享测试数据。
- 进阶用法:返回结果、处理错误与取消,以及清理资源。
注册自定义业务 Node
自定义 Node 从 YAML 接收参数并执行操 作。下面以创建测试用户数据为例,将用户信息写入 JSON 文件,供测试服务或数据导入步骤加载。
1. 定义并注册 Node
创建 midscene.config.ts:
name 是 YAML 中使用的操作名称。inputSchema 定义参数,execute({ input }) 接收校验后的参数值。将 Node 加入 nodes 数组后,用例就可以调用它。扩展已有项目时,将它追加到原有的 nodes 数组即可。
inputSchema 是可选字段,但定义后,Midscene Test 会在调用 execute() 前校验参数。示例中的 z.string().min(1) 要求姓名非空,.email() 校验邮箱格式,z.strictObject() 拒绝未知字段。输入不符合要求时,会抛出 NodeInputValidationError。
TypeScript 根据 schema 推导 input 的类型。.describe() 中的字段说明会出现在生成的 Node 说明书中。
2. 在 YAML 中调用
创建 cases/user.yaml:

