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

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

目录
        • 1、概述
        • 2、编写Pre-request Script(预请求脚本)
        • 3、Pre-request Script常用方法
        • 4、使用Pre-request Script实现请求参数取随机数

1、概述 Pre-request Script 顾名思义,它的定义是“在请求之前执行的脚本”。
同时这个脚本支持配置在接口集合下,配置之后,在这个接口结合内的所有脚本,每次请求之前都会执行这个脚本。
在编写脚本时,如果想要调试脚本,可以在脚本中加入日志语句,当脚本运行时控制台将会输出对应这些日志。
2、编写Pre-request Script(预请求脚本) Pre-request Script(预请求脚本)使用JavaScript语言编写。而写这个脚本并不需要多么精通JavaScript语言,大部分的逻辑使用简单的代码就可以完成。如果有其他编程语言的基础,可以很快上手写预请求脚本。
3、Pre-request Script常用方法 在pre-request script标签页的右侧,postman提供了几个常用方法,点击之后直接生成语句打印在标签页。
postman|Postman进阶篇(一)-pre-request script入门及实现参数使用随机数
文章图片

常用方法如下:
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之前随机取一个数字。
【postman|Postman进阶篇(一)-pre-request script入门及实现参数使用随机数】postman|Postman进阶篇(一)-pre-request script入门及实现参数使用随机数
文章图片

在该接口的pre-request script标签页下编写脚本。完整代码如下:
//定义一个随机数(600, 700)之间 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)
postman|Postman进阶篇(一)-pre-request script入门及实现参数使用随机数
文章图片

然后,把生成的数字生成一个全局变量,方便请求参数中引用
pm.globals.set("test", test);

最后在请求参数中引用变量
postman|Postman进阶篇(一)-pre-request script入门及实现参数使用随机数
文章图片

然后点击发送接口,发送从成功后,可以通过控制台(console)中查看此次发送接口的请求参数。
postman|Postman进阶篇(一)-pre-request script入门及实现参数使用随机数
文章图片

可以看到参数中使用的便是本次随机生成的数据“4”,这样就实现了请求时,请求参数随机取用一个数字。
如果觉得使用创建全局变量,再引用的方式太繁琐,也可以在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});

代码编写之后,body内的参数可以删除。
postman|Postman进阶篇(一)-pre-request script入门及实现参数使用随机数
文章图片

然后点击发送,可以看到这样一样可以达到请求时参数的值为随机数的效果。
postman|Postman进阶篇(一)-pre-request script入门及实现参数使用随机数
文章图片

postman系列文章目录:
https://blog.csdn.net/weixin_40883833/article/details/126452017

    推荐阅读