Postman进阶篇(一)-pre-request script入门及实现参数使用随机数

从这一篇开始,postman的系列教程将进入进阶篇,之后介绍的内容会相较之前更难一些,但如果学会这些知识,绝对可以成为个人能力的一个加分项,也可以成为简历上的亮点

1、概述

Pre-request Script 顾名思义,它的定义是“在请求之前执行的脚本”

同时这个脚本支持配置在接口集合下,配置之后,在这个接口结合内的所有脚本,每次请求之前都会执行这个脚本。

在编写脚本时,如果想要调试脚本,可以在脚本中加入日志语句,当脚本运行时控制台将会输出对应这些日志。

2、编写Pre-request Script(预请求脚本)

Pre-request Script(预请求脚本)使用JavaScript语言编写。而写这个脚本并不需要多么精通JavaScript语言,大部分的逻辑使用简单的代码就可以完成。如果有其他编程语言的基础,可以很快上手写预请求脚本。

3、Pre-request Script常用方法

在pre-request script标签页的右侧,postman提供了几个常用方法,点击之后直接生成语句打印在标签页。
在这里插入图片描述
常用方法如下:

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());
});

4、使用Pre-request Script实现请求参数取随机数

我们直接已一个简单的例子来说明脚本该如何编写:
平时工作做,有时候测试一个接口,不希望每次都使用同样的参数请求时,这就可以使用pre-request script在接口请求前生成一个随机数并在请求参数中调用。

假设,在下图的这个接口请求中,我希望body内的参数"test"每次都在0~9之前随机取一个数字。
image

在该接口的pre-request script标签页下编写脚本。完整代码如下:

//定义一个随机数(0, 9)之间
var test = parseInt(Math.random()*9);
//打印出生成的随机数,便于调试
console.info("随机生成test为",test)
//将生成的随机数设置为全局变量
pm.globals.set("test", test);

首先先获取一个随机数, Math.random()是JavaScript中一个获取随机数的方法,这个方法很常见,网上有很多使用方法,可以很容易的搜到。

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

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

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

console的入口在postman的页面下方,点开之后上面这条日志的展示效果如下:(控制台的详细介绍:控制台console

image.png

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

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

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

image.png

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

image.png
可以看到参数中使用的便是本次随机生成的数据“4”,这样就实现了请求时,请求参数随机取用一个数字。

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

//定义一个随机数(0, 9)之间
var test = parseInt(Math.random()*9);
//打印出生成的随机数,便于调试
console.info("随机生成test为",test)
// 在body中添加参数test,并且值为随机数
pm.request.body.formdata.add({
    
    'key':'test','value':test});

代码编写之后,body内的参数可以删除。
image.png

然后点击发送,可以看到这样一样可以达到请求时参数的值为随机数的效果。

image.png

postman系列文章目录:
https://blog.csdn.net/weixin_40883833/article/details/126452017
—————————————————————————————————
postman系列文章内所使用的示例文件已经上传到了本人运营公众号【软件测试必备技能】
在这里插入图片描述
有需要可点击文章下发二维码,前往领取~
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40883833/article/details/126550398