Postman自定义脚本Pre-request-script以及Test

这两个都是我们进行自定义script脚本的地方,分别是在请求执行的前后运行。

我们举两个可能经常运用到的场景。

(一)请求A先执行,请求B使用请求A响应结果作为参数。如果我们不用自定义脚本,可能得先执行请求A,然后手动复制响应结果给请求B的参数。而通过自定义脚本,我们可以实现一键执行两个请求。下面我们直接看脚本示例:

这里的示例请求为模拟登录login,然后再次发请求将登录结果发给loginResult

(1)首先设置body,然后再Test中写脚本获取响应结果,并设置到环境变量中

Test脚本如下:

复制代码
console.log("loginRes:"+JSON.stringify(pm.response.json()))
// 将响应结果设置到环境变量中
pm.environment.set("loginResult", JSON.stringify(pm.response.json()));

pm是postman内置的对象,可以通过它获取请求参数,响应结果等信息,也可以设置请求参数、设置环境变量、全局变量等。

(2)然后再第二个请求中的Pre-request Script中写脚本获取响应结果,并设置到参数中

上面是网上给出的body设置方案,但实际是没法设置成功的。查看postman文档,文档中也是不可变的,网上的方案可能是旧版本可以。

正确的做法是:在body中通过引用变量的方式

(3)运行请求

从这个地方运行,会开启一个Collection Runner

点击Run Test即可,可以看到两个请求都执行成功了

(二)我们经常会有多套环境,prod,test,dev,如果每次环境切换都要改每个请求的ip和端口,那太麻烦了。我们可以在collection的Pre-request Scripts中将host、port设置到环境变量中,然后再url中以变量的方式引用进来:

ps:附上一篇自己写的《Postman的使用

相关推荐
程序员三藏1 天前
自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
SQDN2 天前
Chatbox 1.22.1 获取不到模型?先验 /models,再对齐精确 model ID
人工智能·测试工具·机器学习·chatgpt·json
Luminbox紫创测控2 天前
可调UV宽光谱高功率的LED太阳能模拟器
人工智能·测试工具·汽车·安全性测试·uv·测试标准
Li Ming&2 天前
图吧工具箱下载安装《保姆级日常使用教程》
测试工具·电脑
降临-max2 天前
Postman----接口自动化
软件测试·功能测试·自动化·postman
测试秃头怪2 天前
postman接口测试详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
CYB35323 天前
KEYSIGHT是德科技 E8362C PNA系列20 GHz高性能微波矢量网络分析仪
功能测试·科技·测试工具
CYB35323 天前
KEYSIGHT N9020A是德科技 高性能MXA信号分析仪
功能测试·测试工具