Postman v8.3+内置{{$randomInt}}(0–1000)、{{$guid}}(V4 UUID)、{{$timestamp}}(秒级时间戳)三大随机变量,支持URL/Headers/Body直接引用,实时计算、无需脚本。

直接用内置变量:{{$randomInt}}、{{$guid}}、{{$timestamp}}最省事
Postman 从 v8.3 开始内置了十多个开箱即用的随机变量,不需要写脚本就能在 URL、Headers、Body 里直接引用。最常用的是这三个:
-
{{$randomInt}}:生成 0–1000 的整数,适合快速占位,但范围固定、易重复 -
{{$guid}}:生成 V4 UUID(如7a2b1c8d-4e5f-6g7h-8i9j-0k1l2m3n4o5p),唯一性强,适合 ID、token 等需防冲突字段 -
{{$timestamp}}:秒级 Unix 时间戳(如1762071783),适合时间校验、缓存绕过等场景
输入 {{ 就能自动弹出候选列表;注意它们只在发送请求时实时计算,不是预渲染值。别指望 {{$randomInt}} 能指定范围——它硬编码就是 0–1000,想改就得换方案。
需要自定义范围?必须用 Pre-request Script
比如要生成 6 位不带前导零的手机号后 8 位、或 100000–999999 的订单号,{{$randomInt}} 完全不够用。这时得在 Pre-request Script 里手写逻辑:
- 用
Math.random()+Math.floor()组合生成整数:Math.floor(Math.random() * (max - min + 1)) + min - 生成固定长度数字字符串(如 6 位)要补零:
String(Math.floor(Math.random() * 1000000)).padStart(6, '0') - 设为环境变量后才能在请求中引用:
pm.environment.set('order_id', orderId),然后 Body 里写"id": "{{order_id}}" - 别用
postman.setEnvironmentVariable()(旧 API),它已弃用,只认pm.environment.set()
常见错误是脚本里直接写 {{ $randomInt(1, 999) }} ——动态变量在脚本里不会自动解析,必须走 pm.variables.replaceIn(),否则报 undefined。
Postman 12.27.7 Windows x64 官方安装包,适用于 API 设计、调试、测试与协作。该系列包含 Enterprise 云端性能测试静态 IP 出口能力,以及接口规范标签管理改进,适合受限网络测试与规范资源组织场景。
生成中文、手机号、邮箱等结构化数据,优先查内置 faker 变量
Postman 底层集成 faker.js,提供了大量语义化随机值,比手写更可靠:
-
{{$randomPhoneNumber}}:生成带区号和分隔符的号码(如(201) 555-0123),符合国际格式,但不含中国手机号规则 -
{{$randomEmail}}:生成完整邮箱地址(如jane.doe@example.com),域名部分可被 mock,但无法控制后缀 -
{{$randomChineseName}}不是内置变量!官方 faker 列表里没有中文姓名,强行用{{$randomFullName}}会输出英文名 - 需要中国手机号,必须自己写:
['13', '15', '17', '18', '19'].map(p => p + Math.floor(10000000 + Math.random() * 90000000))
所有 faker 类变量(如 {{$randomColor}}、{{$randomHexColor}})都只能在请求体/URL 中直接使用,脚本里要用 pm.variables.replaceIn() 才能取值。
容易被忽略的关键点:作用域、执行时机与调试手段
很多人卡在“变量明明设了却用不上”,问题往往出在三个地方:
- 环境变量 vs 全局变量:用
pm.environment.set()设的,必须在「环境」下拉菜单里选中对应环境才生效;没选环境 = 值为空 - 执行顺序严格:Pre-request Script → 替换所有
{{xxx}}变量 → 发送请求 → 执行 Tests。变量不能在 Tests 里设、再在当前请求 Body 里用 - 调试靠
console.log():脚本里加console.log('orderId:', orderId),运行后点右上角「Console」查看输出,比猜强十倍 -
{{$randomInt}}和{{$randomInt(min, max)}}是两回事:后者是新版本扩展语法(v10+),老版本只认无参版,升级前先查文档版本兼容性
真正麻烦的从来不是“怎么生成”,而是“生成后怎么确保每次请求都拿到新值、且不和其他请求串扰”。环境隔离、作用域明确、日志可见——这三样比任何随机算法都重要。

















