当前位置:网站首页>详细全面的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同样支持,可以满足你设计一条用例多条数据运行的需求。
总结:
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
边栏推荐
- TinyMCE disable escape
- Zombie and orphan processes
- 软件测试面试题:测试生命周期,测试过程分为几个阶段,以及各阶段的含义及使用的方法?
- Software testing interview questions: test life cycle, the test process is divided into several stages, and the meaning of each stage and the method used?
- 2022 Nioke Multi-School Training Session 2 J Question Link with Arithmetic Progression
- Activity Recommendation | Kuaishou StreamLake Brand Launch Conference, witness together on August 10!
- ORA-00257
- 执掌图表
- Software testing interview questions: What are the three modules of LoadRunner?
- Software testing interview questions: How many types of software are there?
猜你喜欢
oracle create tablespace
matlab 采用描点法进行数据模拟和仿真
金九银十面试跳槽季;你准备好了吗?
活动推荐 | 快手StreamLake品牌发布会,8月10日一起见证!
could not build server_names_hash, you should increase server_names_hash_bucket_size: 32
"WEB Security Penetration Testing" (28) Burp Collaborator-dnslog out-band technology
TinyMCE disable escape
Bit rate vs. resolution, which one is more important?
LiveVideoStackCon 2022 上海站明日开幕!
JUC thread pool (1): FutureTask use
随机推荐
Software Testing Interview Questions: What Are the Types of Software Testing?
2022杭电多校第三场 K题 Taxi
gorm joint table query - actual combat
深度学习训练前快速批量修改数据集中的图片名
2022 Nioke Multi-School Training Session 2 J Question Link with Arithmetic Progression
node uses redis
如何用 Solidity 创建一个“Hello World”智能合约
LiveVideoStackCon 2022 上海站明日开幕!
2022牛客多校训练第二场 H题 Take the Elevator
### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionExcep
Software testing interview questions: What stages should a complete set of tests consist of?
内存取证系列1
Kubernetes 网络入门
matlab 采用描点法进行数据模拟和仿真
新唐NUC980使用记录:在用户应用中使用GPIO
主库预警日志报错ORA-00270
Lattice PCIe 学习 1
软件测试面试题:负载测试、容量测试、强度测试的区别?
Software testing interview questions: What is the difference between load testing, capacity testing, and strength testing?
2021年11月网络规划设计师上午题知识点(下)