本文共 1894 字,大约阅读时间需要 6 分钟。
Postman 提供了一些内置变量,可用于参数化测试。这些变量可以直接使用,无需手动编写代码,但需要注意的是,它们不能用于精确比较。
| 变量名称 | 描述 | 示例 |
|---|---|---|
{!-- {$guid} --> | 添加一个V4风格的GUID。 | “611c2e81-2ccb-42d8-9ddc-2d0bfa65c1b4” |
{!-- {$timestamp} --> | 添加当前的时间戳,精确到秒。 | 1562757107 , 1562757108 , 1562757109 |
{!-- {$randomint} --> | 生成0-1000之间的随机整数。 | 0-1000之间的随机整数 |
{!-- {$randomFullName} --> | 生成随机全名(名字和姓氏)。 | Connie Runolfsdottir , Sylvan Fay , Jonathon Kunze |
{!-- {$randomBoolean} --> | 生成随机布尔值 (true/false)。 | true , false , false , true |
更多内置变量参考:CDN技术博客。
Pre-request-Script 是一种推荐的参数化方法,主要用于在发送请求前执行自定义脚本。其优点包括高可塑性和代码复用。
定义当前时间并设置为全局变量
代码示例:const now_time = Date.now();pm.globals.set("now_time", now_time);生成GUID
代码示例:const guid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/x/g, () => (Math.floor(Math.random() * 16)).toString(16)).replace(/y/g, () => (Math.floor(Math.random() * 4 + 8)).toString(16));pm.globals.set("guid_value", guid);生成随机数
代码示例:const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;pm.globals.set("random_number", randomInt(8,14));获取随机姓名
代码示例:const charsInName = ['王','李','张'];pm.globals.set("people_name", charsInName[Math.floor(Math.random() * charsInName.length)] );生成随机手机号码
代码示例:const mobile_num = `13${randomInt(500000000, 599999999)}`;pm.globals.set('mobile_num', mobile_num);实现睡眠功能
代码示例:const sleep = (milliseconds) => { const start = Date.now(); while (Date.now() <= start + milliseconds) { };};sleep(5000);文件结构
第一行:字段名,字段名,…后续行:对应字段的值使用步骤
注意事项
文件结构
[ { "name": "张三", "age": 30 }, { "name": "李四", "age": 25 }]使用步骤
注意事项
在 Tests 页面中,可以对请求响应进行断言,确保结果符合预期。断言支持 JavaScript 语法,可以灵活定义验证规则。
通过以上方法,你可以轻松实现参数化测试,提升测试效率和可维护性。