Postman教程-Pre-request Script和Tests脚本的介绍

简介: Pre-request Script脚本的使用场景:一般用来在发送请求之前对数据进行一些预处理,比如获取当前时间戳、随机数之类的用于接口传参。

前面章节解决了“请求本身”的问题,但“请求前后的动作”是怎样处理的呢?比如在发送一个请求前,需要获取当前时间戳,这就需要用到Pre-request Script的知识了。另外,似乎还忽略了一个非常重要的知识点,请求返回响应后,如何自动判断响应是否正确呢?这就需要用到Tests的知识。本章将重点介绍Pre-request Script和Tests的相关知识。


对于单个请求而言,两个脚本执行顺序:

Pre-request Script:在发送请求之前执行

Tests:在发送请求之后执行


微信图片_20220114114707.png


站在集合角度,执行顺序如下:

① 与集合相关的Pre-request Script脚本将在集合中的每个请求之前运行。

② 与文件夹相关联的Pre-request Script脚本将在文件夹中的每个请求之前运行。

③ 与集合相关的Tests脚本将在集合中的每个请求之后运行。

④ 与文件夹关联的Tests脚本将在该文件夹中的请求之后运行。


集合和文件夹也能设置脚本,这点我之前没关注过:


微信图片_20220114114711.png


因此可以得出结论:

集合级脚本>文件夹级脚本>请求级脚本   {优先级从高->低}



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());
});

说明:

postman中的自己编写的脚本目前一般是只支持用js,但是你可以通过其他的方式去间接的嵌入python脚本, postman在Pre-request Script脚本中是可以发送请求的,那么你可以把写的python或者其他语言的脚本发布为api的接口,然后在postman中以接口的形式去进行调用。


Tests脚本使用场

Postman工具借助测试脚来帮助用户自动判断接口请求是否正确,相当于Load Runner工具中的检查点或者JMeter中的断言功能。

列举结果最基础的断言里面常用的函数:

//检查响应状态是不是200
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
//检查返回结果会否包含某个字符串
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
//响应时间会否小于200毫秒
pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

官网上,一些脚本的使用案例,感兴趣的可以自己学习:

https://learning.postman.com/docs/writing-scripts/script-references/test-examples/

英文文档并不可怕,一些简单的英文单词什么的还是应该要能够看懂的。


相关文章
|
5月前
|
JSON 测试技术 API
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
80 3
|
1月前
|
监控 测试技术 API
零基础到精通,Postman安装使用教程(一)
Postman是谷歌开发的接口测试工具,简化了API调试和测试。它支持各种HTTP请求类型,提供模拟网络请求、快速创建请求、回放管理及网络代理设置等功能。安装Postman需从官网下载客户端,尤其对于Windows用户。注册Postman账号可实现接口用例集共享、跨设备同步、数据备份及更多高级功能。使用时,新建请求,填写URL和headers,点击Send即可查看服务器响应。本文作为入门介绍,后续将探讨其更多高级特性。
36 1
|
2月前
|
数据安全/隐私保护
Postman之Pre-request Script 使用详解
Postman之Pre-request Script 使用详解
24 0
|
4月前
|
前端开发 测试技术 API
Postman 使用教程(包括导入测试)
Postman 使用教程(包括导入测试)
183 0
|
5月前
|
JSON 测试技术 数据安全/隐私保护
Postman(接口测试工具)使用教程
Postman(接口测试工具)使用教程
113 0
|
6月前
|
Web App开发 前端开发 测试技术
postman测试上传图片接口步骤教程
postman测试上传图片接口步骤教程
176 0
|
10月前
|
SQL XML JSON
Spring Boot + vue-element 开发个人博客项目实战教程(九、Postman测试接口)(下)
Spring Boot + vue-element 开发个人博客项目实战教程(九、Postman测试接口)(下)
96 0
|
10月前
|
XML JSON 前端开发
Spring Boot + vue-element 开发个人博客项目实战教程(九、Postman测试接口)(上)
Spring Boot + vue-element 开发个人博客项目实战教程(九、Postman测试接口)(上)
89 0
|
4月前
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
|
4月前
|
JSON 数据格式 开发者
Postman模仿GET/POST请求进行接口的本地测试
接口是软件开发中常用的概念,是软件生产过程中比较核心的任务。对于接口开发者,调试接口是一件较为繁琐的事情,很多时候需要线上线下来回切换。在这里,我就跟大家介绍一个只需要在本地就可以调试接口的方法。
67 0