构建一个场景
画布位于中央,添加面板和检查器分布在四周。节点可以用鼠标拖动,视图可以平移和缩放。

添加一个节点
Section titled “添加一个节点”从添加面板中选取,它按分类组织:控制、组合(请求与连接)、列表、循环、时间、数学、 算法、数据格式、编码、界面、实用工具。
关联到某个请求的动作(HTTP 请求、SOAP 请求,以及所有连接类动作) 需要指定它所驱动的项目内请求。
场景 ↔ 请求之间的关联
Section titled “场景 ↔ 请求之间的关联”在一个动作中指定某个请求会建立一条强关联:该动作是按标识符引用这个请求的, 而不是引用一份副本。由此可以推出:
- 这个请求依然是共享的 —— 修改它(URL、请求头、正文)会改变所有使用它的场景 在下一次执行时的行为;
- 这条关联在请求被重命名或在树中被移动后依然有效:它既不依赖名称,也不依赖路径;
- 从请求一侧看,smartbar 上有一个 **“已被场景使用”**按钮 —— 它会列出调用该请求的场景,并支持跳转过去。 在修改一个共享请求之前,这是应该养成的习惯动作;
- 一个缺失的请求(被删除,或在打开项目时不存在)会让场景校验失败: 播放按钮保持禁用,出问题的节点会被标记出来 —— 绝不会出现悄无声息坏掉的场景。
若想在不改动已保存版本的前提下重放同一个请求,请不要修改它, 而是使用覆盖请求中介绍的各种覆盖手段(快速设置、动作覆盖、连线)。
配置一个节点
Section titled “配置一个节点”每个节点都有自己的字段,可以直接在节点上填写,也可以在检查器中填写。这些字段接受 带类型的值 —— 字符串、数值、布尔值、日期、Handlebars 表达式、变量、自定义列表、密钥…… —— 参见变量与环境。
在支持的字段中,Ctrl+Space 会触发变量和辅助函数的自动补全。
从一个输出端口拉向一个输入端口。
有两条规则需要知道:
- 一个输入端口只接受一条连线 —— 只有
in端口例外,它可以接受任意多条, 并因此起到屏障的作用。 - 纯信号输出不能接到纯值输入。 其余组合都是允许的:携带值的输出同时也可以充当触发器。
细节参见:端口与连线。
一条连线可以携带一个选择器:应用于在途值的一个路径。
data.items[0].idbody['user-id']status正是它免去了在每次调用与其消费方之间插入一个转换节点的麻烦。选择器可以在创建连线时设置, 也可以稍后设置;清空它即可移除。
关联到某个请求的动作可以在不改动请求本身的情况下修改它。共有四个层次,按此顺序生效:
- 请求已保存的样子;
- 在动作上指定的一个快速设置(快速配置)—— 这正是直接在场景中复用某个请求已保存变体的方式,无需重新录入;
- 在动作上填写的覆盖值;
- 通过连线到达覆盖端口的值。
要用三套数据重放同一次调用,这就是干净的做法。
在每个事件上重放
Section titled “在每个事件上重放”节点的右键菜单提供**“每收到一个事件就重放”**。启用后,该选项会把所有已连线的输入 变成非阻塞的“或”门:节点会在任意端口收到任意一个值时重新触发,而不再等待全部到位。
处理数据流(每一条 MQTT 消息、每一个 SSE 事件)时这是必需的,同时它也是打破完成环路的手段。
- 一个 Input / Param 节点声明场景的参数。它们可以在启动时提供、在命令行中提供
(
--param name=value),或在交互模式下于执行期间询问。 - 一个 Output / Return 节点向调用方暴露一个结果 —— 当该场景被另一个场景通过 运行场景动作调用时非常有用。
Restorm 能自动整理一张图(自动布局);之后节点仍然可以手动拖动。
Ctrl+Z 撤销,Ctrl+Shift+Z 重做。
只要还存在校验错误,播放按钮就保持禁用:无效连线、缺失的请求、必填字段为空。 出问题的节点会被标记出来。