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的使用

相关推荐
小冯的编程学习之路17 小时前
【软件测试】:推荐一些接口与自动化测试学习练习网站(API测试与自动化学习全攻略)
c++·selenium·测试工具·jmeter·自动化·测试用例·postman
Ten peaches19 小时前
Selenium-Java版(操作元素)
java·selenium·测试工具·html
傻小胖1 天前
三种常见接口测试工具(Apipost、Apifox、Postman)
测试工具·postman
辛普森Mmmm1 天前
Postman接口测试
测试工具·postman
程序员三藏1 天前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
头疼的程序员2 天前
allure生成测试报告(搭配Pytest、allure-pytest)
测试工具·pytest
程序员杰哥2 天前
自动化测试基础知识详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
程序员小远3 天前
自动化测试与功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
第三方软件测评3 天前
第三方软件测评中心分享:软件功能测试类型和测试工具
功能测试·测试工具
慢一点会很快4 天前
【网络分析工具】网络工具wireshark、TCPdump、iperf使用详解
测试工具·wireshark·tcpdump