postman教程(五)postman请求参数化

分类: 365彩票是不是诈骗呢 时间: 2025-07-22 10:36:44 作者: admin 阅读: 602 点赞: 200
postman教程(五)postman请求参数化

请求参数化

数据参数化是Postman最有用的特征之一。你可以将使用到的变量进行参数化,而不是使用不同的数据创建相同的请求。

这些数据可以来自数据文件或环境变量。参数化有助于避免重复相同的测试,可用于自动化迭代测试。

postman参数化的形式主要有三种:

1、内置变量实现

内建变量为postman自带的系统变量

Variable Name

Description

Examples

{{$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

更多内置变量可参考:https://blog.csdn.net/minzhung/article/details/102531880 内建变量一般放在request里

2、使用Pre-request Script实现

首先先获取一个随机数, Math.random()是JavaScript中一个获取随机数的方法

var test = parseInt(Math.random()*9);

如果我们要调试结果,可以把获取到的随机数在postman的控制台(console)中打印出来,console的入口在postman的页面下方

console.info("随机生成test为",test)

把生成的数字生成一个全局变量,方便请求参数中引用

pm.globals.set("test", test);

最后在请求参数中引用变量{{test}}

点击发送接口,发送从成功后,可以通过控制台(console)中查看此次发送接口的请求参数

常见的方法如下:

pm.environment.get("variable_key"); // 获取环境变量

pm.globals.get("variable_key"); // 获取全局变量

pm.variables.get("variable_key"); // 获取变量,该函数在全局变量和当前环境变量中搜索变量

pm.collectionVariables.get("variable_key"); // 获取集合变量

pm.environment.set("variable_key", "variable_value"); // 设置环境变量

pm.globals.set("variable_key", "variable_value"); // 设置全局变量

pm.collectionVariables.set("variable_key", "variable_value"); // 设置集合变量

pm.environment.unset("variable_key"); // 删除环境变量

pm.globals.unset("variable_key"); // 删除全局变量

pm.collectionVariables.unset("variable_key"); // 删除集合变量

pm.sendRequest("https://postman-echo.com/get", function (err, response) {console.log(response.json());});// 发送请求

//1、获取当前时间戳并设置全局变量

var now_time = Date.now();

pm.globals.set("now_time", now_time);

//2、获取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);

//3、获取随机整数并设置全局变量,随机整数值的范围可以设置(9,15)

const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;//随机数和手机号生成的前提

pm.globals.set("random_number", randomInt(8,14) );

//4、从多个选项中选择实现

const getRandomValue = list => list[randomInt(0, list.length - 1)];

const charsInName = ['王','李','张'];

pm.globals.set("people_name", getRandomValue(charsInName) );

//5、生成随机手机号

var mobile_num = `13${randomInt(500000000, 599999999)}`;

pm.globals.set('mobile_num',mobile_num);

//6、设置等待时间,毫秒级别

const sleep = (milliseconds) => {

const start = Date.now();

while (Date.now() <= start + milliseconds) {}

};

sleep(5000);

如果觉得使用创建全局变量,再引用的方式太繁琐,也可以在Pre-request Script中直接添加参数,代码如下:

//定义一个随机数(600, 700)之间

var test = parseInt(Math.random()*9);

//打印出生成的随机数,便于调试

console.info("随机生成test为",test)

// 在body中添加参数test,并且值为随机数

pm.request.body.formdata.add({'key':'test','value':test});

3、外部文件的方式实现,通过csv文件或者json格式的文件实现参数化

3.1csv的运用,首先通过在文件中设置参数名及参数值

关键字之间需要用英文逗号分隔开,第一行写定义的参数变量,切记需要以utf-8的编码格式、.csv的文件后缀名保存,点击runner按钮

引用CSV文件参数

设置run参数

查看测试结果

3.2通过json格式的文件实现参数化,导入文件的时候记得校验文件是否为json

注意:

iteration设置迭代次数,每次迭代都会使用数据文件中的一行,如果迭代次数超过数据文件中的行数,将会重复使用最后一行数据。

4、环境变量设置:

相关推荐

MATLAB 基本语法
365bet365体育在线

MATLAB 基本语法

📅 07-08 👁️ 7109
禀生受命部·卷一
注册送365元可提款

禀生受命部·卷一

📅 07-07 👁️ 348
DNF自制史诗攻略 自制SS催化剂选择及成本最优选择
365bet365体育在线

DNF自制史诗攻略 自制SS催化剂选择及成本最优选择

📅 07-19 👁️ 1699