Postman Script 功能,支持原生的JS,所以可以使用JS解决很多接口自动化的一些问题,例如接口依赖、接口参数专递和接口断言等;
这里主要是针对Pre-Request Script 和 Tests 两个模块做介绍,它支持以嵌入脚本的方式动态准备测试数据,并根据业务需求设计测试用例。
postman接口的运行顺序:每次请求前,先运行Pre-request Script中的方法,然后在调用接口,最后是运行Tests中的方法,即(Pre-request Script->接口请求->Tests)
一、Pre-request Script
此模块主要是在发送request之前,编写pre-request script,定制化request。
这里举一个实例,某个查询接口需要传入查询时间,参数名为beginTime和endTime,这里通过Pre-request Script中的代码实现,在每次调用接口之前,获取日期beginTime和endTime,然后保存为环境变量,提供给接口传参,如下图:
每次运行接口都会更新环境变量的beginTime和endTime值;
(详细的JS获取日期方法解释可以到本园另一篇博客中查看:Postman使用js获取日期)
二、Test Script
收到response之后,用test script,处理返回的数据。这个组件主要是用来处理接口依赖以及实现接口断言的地方;
1.接口参数依赖:通过获取返回数据中的值,保存(更新)为环境变量,来解决接口参数的依赖问题;
2.断言:判断接口返回数据是否包含每个特定值,来检查接口是否正常;
以下举两个实例,如下图:
获取gameCode参数保存到环境变量中,提供给后面的接口进行调用;
三、随机参数:
PostMan 除了提供环境变量和全局变量外,还提供了三种随机数。
{{$guid}}
:添加一个V4风格GUID
{{$timestamp}}
:将当前的时间戳,精确到秒
{{$randomInt}}
:添加0和1000之间的随机整数
这里举个例子是需要传一个不可重复的订单号:
"OrderCode":"cross-{{$timestamp}}"
更多postman的介绍可以浏览博客中他的文章。