1.{{$guid}}//生成随机GUID
2.{{$timestamp}}//当前时间戳
3.{{$randomInt}}//0-1000的随机整数
问题:内建变量不能进行精确对比
1.Pre-request Script是集合中请求发送之前需要执行的代码片段
2.请求参数中包含一个随机数或者请求header中包括一个时间戳,或者你的请求参数需要加密
3.先运行Pre-request Script内的函数,再发送请求,最后识别tests中的断言
1.在Pre-request Scrip定义一个获取当前时间戳的函数,设置为全局变量
2.在tests中设置断言,实现获取随机变量的标题的功能
3.得出判断结果,输出测试用例结果
// 当前时间戳 var 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 getRandomValue = list => list[randomInt(0, list.length - 1)]; const charsInName = ['王','李','张']; pm.globals.set("people_name",getRandomValue(charsInName) ); // 随机手机号实现: var mobile_num = `18${randomInt(300000000, 399999999)}`; pm.globals.set("mobile_num",mobile_num); const sleep = (milloiseconds) => { const start = Date.now(); while (Date.now() <= start + milloiseconds) {} }; sleep(5000); //毫秒为单位
csv文件要在Collection Runner中工作, 第一行必须是在request中要使用的变量名,
每一行是一条用例, 并表示一次迭代。
json文件你需要确保你的文件有键/值对数组。 数组中的每个元素是键值对对象, 代表
一次迭代。 key作为request中要使用的变量名, value作为key
3.1 CSV
3.2 JSON
注意:设置迭代次数超过当前文件中的行数,那么超过的数据会重复使用最后一行的数据
学IT,上博学谷
https://m.boxuegu.com/inviteShare/invited?id=8a2c9bed6aa1c063016ab53099d00037&source=1&from=singlemessage