变量与环境
Restorm 的变量存放在 环境文件夹中, 一个文件夹可以包含多套变量:每个环境一套。
环境与子环境
Section titled “环境与子环境”一个环境就是一份键 / 值对清单。它可以包含子环境, 子环境会继承父级,并覆盖它们重新定义的部分。
要建模 staging → staging / customer A、staging / customer B 这样的结构,
它正是合适的工具:共同的基础只写一次,只有差异部分需要重复。

选择当前生效的环境
Section titled “选择当前生效的环境”环境选择器位于每个请求标签页 smartbar 的左侧。 它会显示一个彩色圆点和环境名称。
弹出面板提供一个**“应用到所有请求”**复选框:勾选后,
它会一次性切换整个文件夹 —— 想把一整个项目从 local 切到 staging 时,
这正是您需要的。
变量并不只是字符串。Restorm 提供以下类型:
| 类型 | 它是什么 |
|---|---|
| 字符串 | 一个字面值,原样发送 |
| 表达式 | 一个 Handlebars 模板 —— 这是唯一会对 {{ }} 求值的类型 |
| 数值 | 一个数字,带显示格式 |
| 布尔值 | 真 / 假 |
| 日期时间 | 一个 ISO 日期,带格式 |
| 颜色 | 一个十六进制颜色值 |
| 密钥 | 指向某个密钥来源的引用 —— 该值绝不会经过项目文件 |
| 列表 | 一组值的列表 |
| 枚举 / 多选枚举 | 由导入的枚举所约束的值 |
| 自定义列表 / 多选自定义列表 | 在自定义值列表中按标签做的选择 |
| 变量 | 指向另一个变量的引用 |
| 环境 | 指向某个环境的引用 |
| 空值 | 显式的 null 值 |
从最一般到最具体 —— 后者胜出:
- 根环境,然后是链条上的每一个子环境;
- 环境自身的变量,按它们的声明顺序:因此一个变量可以依赖在它上方定义的那些变量;
- 由场景写入的运行变量(设置变量动作),它们会在执行期间覆盖环境;
- 请求自身的值(请求头、查询参数、路径参数),每一组都在已累积的上下文之上求值;
- 最后是直接写在请求字段里的
{{ }}—— 参阅 内联变量。
此外,Restorm 会进行多轮解析:因此父环境中的某个表达式也能取到被子环境重新定义的值。
已停用的变量
Section titled “已停用的变量”每个变量都有一个启用复选框。已停用的变量不会进入上下文 —— 这是暂时中和某个覆盖值而又不删除它的干净做法。
导入时,凡是值解析为空的键 / 值对都会被自动停用: 这样您的第一次执行就不会发出一大堆空的请求头。
那辅助函数呢?
Section titled “那辅助函数呢?”任何表达式都是一个 Handlebars 模板,可用的 辅助函数超过一百个: 字符串、数学、日期、列表、编码、哈希、随机数据。