当前位置:网站首页>详细全面的postman接口测试实战教程
详细全面的postman接口测试实战教程
2022-08-05 00:51:00 【程序员威子】
基本介绍
postman是一款流程的接口调试工具,其特点就是使用简单,功能强大。使用角色也非常广泛,后端开发,前端人员,测试人员都可以使用它进行接口调试或测试。
基本框架
如果把postman去其内容只保留框架的话,个人感觉就是下图的这三个功能 。
变量:postman中有多种变量,这里只列举了最常用的三种。因为我们所要测的接口往往很多,所以,你几乎就离不开这个功能。
集合:集合是postman的核心,几乎所有的功能都围绕着它转,或者是为它服务 。在它的里面有存放着最小的单元-请求。
运行器:主要是为集合生成测试结果,postman支持两种方式,界面和命令行。
集合的四大功能
在上图中,我们介绍到集合是postman的核心功能,接下来我们就介绍下集合最有使用价值的四个功能。
对集合非常有价值的四个功能,就是接口文档,mock服务,接口监控,分支管理 。在工作中都有实际的应用场景 。
集合就像我们的被测试系统,在它的下面可以新建目录(系统模块),模块下可以创建请求(测试用例) 。
我们真正要操作的就是每个请求
请求的运行过程
所有工具的使用,都要从入门开始。以下这篇文章带你进行工具安装,工具主框架介绍,以及最简单的功能上手 。
4种常见的接口请求
在做接口测试时,我们经常会遇到含有查询参数的接口,表单类型的接口,支持文件上传的接口,json类型接口。那么在postman中也同样支持这些接口的请求 。
集合管理-Collections
如果说你使用postman所测的是一个系统或系统下的多个模块,那你就绝对离不开使用集合(Collection)来管理你的用例。在postman中,集合是所有功能的基础 ,好多功能尤其是一些高级功能都是基于集合进行操作的。并且它的批量执行功能,也是我们做自动化测试的必要条件 。
变量
变量的使用可以帮我们解决很多问题,可以使数据重复利用,也可以解决跨请求,跨集合的数据访问 。在postman支持多种变量,如局部变量、环境变量、集合变量、全局变量等 。定义适合的变量有助于脚本的稳定性和扩展性。
断言-Tests
不言而喻,断言作为测试人员最常用功能,其断言库的丰富决定着我们的测试效率。postman有非常丰富的断言,更牛的是编写一个断言代码就可以对多个请求进行批量断言,配置起来也非常便捷。
接口关联
接口关联是做接口测试时经常遇到的问题,在面试时也会被经常问.在postman中解决接口关联的方案也有多种,其中之一就是通过变量去解决 。
请求前置脚本-Pre-request Script
请求前置脚本,简单的说就是在发送请求前要执行的脚本,在做自动化测试时,每个功能的测试,会首先预定义好测试数据。那么,对于用postman做自动化的话,就可以通过它进行数据初始化,当然,这只是它的一种使用场景 。
认证-Authorization
可以说我们所测的每个系统,都离不开认证,其中最常见的认证方式就是token。postman支持了多种常见的认证方式,通过此功能,可以大大的简化我们的工作量。
导入导出
使用postman做接口测试时,每次为填写各种乱七八糟的请求数据而烦恼吗?教你一招,导入浏览器的数据包,导入fiddler的数据包,导入接口文档Swagger的数据包,都能自动生成请求。
快速查找与替换
有没有这样的需求,像在文本中批量替换字符串一样,可以在postman中也批量替换集合中的数据,变量中的数据;或是集合的请求太多的情况下,如何快速查找我们关注的请求。
生成测试报告-newman
测试报告是脚本运行后的产物,是测试人员对质量评估的参考依据,是对代码质量最好的可视化数据。postman也支持生成测试报告,它提供了多种运行方式,多种报告格式。
pm对象解析
我们在postman的沙箱内使用到的每一句代码,几乎都会使用到pm . 它有很多的对象,也能帮我们做很多的功能扩展。
集合运行器-Runner
批量运行集合用例时,我们会使用到 Collection Runner,但它里面有好多选项 ,你是否知道其含义 ?我们都知道,集合中的脚本执行顺序都是在Runner中控制的。但同时也支持在请求脚本中控制脚本的执行顺序 ?
读取外部文件进行参数化
数据驱动都很熟悉,现在的很多工具也都支持数据驱动 。postman同样支持,可以满足你设计一条用例多条数据运行的需求。
总结:
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

边栏推荐
- ora-00604 ora-02429
- 【翻译】CNCF对OpenTracing项目的存档
- Software testing interview questions: What is the difference between load testing, capacity testing, and strength testing?
- 新唐NUC980使用记录:在用户应用中使用GPIO
- Theory of Software Fundamentals
- Helm Chart
- 3. pcie.v file
- 活动推荐 | 快手StreamLake品牌发布会,8月10日一起见证!
- Software Testing Interview Questions: What is Software Testing?The purpose and principle of software testing?
- 软件测试面试题:关于自动化测试工具?
猜你喜欢

Bit rate vs. resolution, which one is more important?

5. PCIe official example

TinyMCE disable escape

MongoDB construction and basic operations

自定义线程池

【FreeRTOS】FreeRTOS与stm32内置堆栈的占用情况

PCIe 核配置

If capturable=False, state_steps should not be CUDA tensors
![[230] Execute command error after connecting to Redis MISCONF Redis is configured to save RDB snapshots](/img/fa/5bdc81b1ebfc22d31f42da34427f3e.png)
[230] Execute command error after connecting to Redis MISCONF Redis is configured to save RDB snapshots

第十一章 开关级建模
随机推荐
Software testing interview questions: What are the strategies for system testing?
"WEB Security Penetration Testing" (28) Burp Collaborator-dnslog out-band technology
码率vs.分辨率,哪一个更重要?
软件测试面试题:网络七层协仪具体?
tensor.nozero(),面具,面具
蓝牙Mesh系统开发五 ble mesh设备增加与移除
leetcode: 266. All Palindromic Permutations
第十一章 开关级建模
GCC:屏蔽动态库之间的依赖
More than 2022 cattle school training topic Link with the second L Level Editor I
ORA-01105 ORA-03175
2022牛客多校第三场 A Ancestor
VOC格式数据集转COCO格式数据集
Software testing interview questions: What are the seven-layer network protocols?
PCIe 核配置
进程间通信和线程间通信
Software Testing Interview Questions: What's the Difference Between Manual Testing and Automated Testing?
Getting Started with Kubernetes Networking
Countdown to 1 day!From August 2nd to 4th, I will talk with you about open source and employment!
If capturable=False, state_steps should not be CUDA tensors