其他分享
首页 > 其他分享> > postman --不同参数化方式

postman --不同参数化方式

作者:互联网

postman参数化

一、自带三个内建变量(系统变量)

1.{{$guid}}//生成随机GUID
在这里插入图片描述

2.{{$timestamp}}//当前时间戳
在这里插入图片描述

3.{{$randomInt}}//0-1000的随机整数
在这里插入图片描述
问题:内建变量不能进行精确对比
在这里插入图片描述

二、Pre_request_scripts写脚本

1.接口运行时的顺序

1.Pre-request Script是集合中请求发送之前需要执行的代码片段
2.请求参数中包含一个随机数或者请求header中包括一个时间戳,或者你的请求参数需要加密
3.先运行Pre-request Script内的函数,再发送请求,最后识别tests中的断言

2. 实现方法

1.在Pre-request Scrip定义一个获取当前时间戳的函数,设置为全局变量
在这里插入图片描述
2.在tests中设置断言,实现获取随机变量的标题的功能
在这里插入图片描述
3.得出判断结果,输出测试用例结果
在这里插入图片描述
在这里插入图片描述

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文件\json格式文件实现参数化

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

标签:Pre,const,postman,--,request,globals,参数,now,Math
来源: https://blog.csdn.net/weixin_44436964/article/details/121367052