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/

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


相关文章
|
2月前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
4月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
2月前
|
测试技术 API 开发者
Postman 旧版本下载方法全解(图文教程)
本文详解如何下载Postman历史版本,涵盖卸载当前版本、查找官方发布记录及旧版下载链接,并探讨版本管理痛点,引出Apifox等集成化接口测试工具的优势,助力开发测试更高效。
Postman 旧版本下载方法全解(图文教程)
|
6月前
|
数据采集 运维 API
把Postman调试脚本秒变Python采集代码的三大技巧
本文介绍了如何借助 Postman 调试工具快速生成 Python 爬虫代码,并结合爬虫代理实现高效数据采集。文章通过“跨界混搭”结构,先讲解 Postman 的 API 调试功能,再映射到 Python 爬虫技术,重点分享三大技巧:利用 Postman 生成请求骨架、通过 Session 管理 Cookie 和 User-Agent,以及集成代理 IP 提升稳定性。以票务信息采集为例,展示完整实现流程,探讨其在抗封锁、团队协作等方面的价值,帮助开发者快速构建生产级爬虫代码。
223 1
把Postman调试脚本秒变Python采集代码的三大技巧
|
7月前
|
数据可视化 测试技术 API
Postman 是什么?(新手教程)
什么是 Postman?本文将对 Postman 进行全面介绍,让我们开始吧。
|
11月前
|
JSON JavaScript 测试技术
Postman 使用教程:从基础到高级
Postman是一款强大的API开发和测试工具,支持从基础请求发送到复杂API集成。本文详细介绍了Postman的基础使用,包括安装、界面概览、发送请求、设置请求头等,以及高级功能,如使用环境变量、创建请求集合、编写测试脚本及使用Newman进行命令行测试,帮助用户全面掌握Postman的使用技巧。
4666 28
Postman 使用教程:从基础到高级
|
JSON 测试技术 API
Postman 教程:快速入门与进阶技巧
本系列教程旨在帮助你从零开始,逐步掌握 Postman 的各项功能,从基础的请求发送到高级的自动化测试和团队协作。无论你是初学者还是有一定经验的开发者,都能在这里找到你需要的知识和技巧。每一篇教程都配有详细的图文说明,确保你能够轻松上手并迅速提升技能。
|
XML Web App开发 数据挖掘
Postman接口测试工具全解析:功能、脚本编写及优缺点探讨
文章详细分析了Postman接口测试工具的功能、脚本编写、使用场景以及优缺点,强调了其在接口自动化测试中的强大能力,同时指出了其在性能分析方面的不足,并建议根据项目需求和个人偏好选择合适的接口测试工具。
591 1
|
10月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
7月前
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
325 2
下一篇
oss云网关配置