Postman接口自动化--Postman Script脚本功能使用详解

时间:2023-12-11 22:06:14

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,然后保存为环境变量,提供给接口传参,如下图:

Postman接口自动化--Postman Script脚本功能使用详解

每次运行接口都会更新环境变量的beginTime和endTime值;

Postman接口自动化--Postman Script脚本功能使用详解

(详细的JS获取日期方法解释可以到本园另一篇博客中查看:Postman使用js获取日期

二、Test Script

收到response之后,用test script,处理返回的数据。这个组件主要是用来处理接口依赖以及实现接口断言的地方;

1.接口参数依赖:通过获取返回数据中的值,保存(更新)为环境变量,来解决接口参数的依赖问题;

2.断言:判断接口返回数据是否包含每个特定值,来检查接口是否正常;

以下举两个实例,如下图:

获取gameCode参数保存到环境变量中,提供给后面的接口进行调用;

Postman接口自动化--Postman Script脚本功能使用详解

Postman接口自动化--Postman Script脚本功能使用详解

三、随机参数:

PostMan 除了提供环境变量和全局变量外,还提供了三种随机数。
{{$guid}}
:添加一个V4风格GUID

{{$timestamp}}
:将当前的时间戳,精确到秒

{{$randomInt}}
:添加0和1000之间的随机整数

这里举个例子是需要传一个不可重复的订单号:

"OrderCode":"cross-{{$timestamp}}"

更多postman的介绍可以浏览博客中他的文章。