当前位置: 首页 > news >正文

postman 怎么调试pos_详细全面的postman接口测试实战教程

基本介绍

postman是一款流程的接口调试工具,其特点就是使用简单,功能强大。使用角色也非常广泛,后端开发,前端人员,测试人员都可以使用它进行接口调试或测试。

基本框架

如果把postman去其内容只保留框架的话,个人感觉就是下图的这三个功能 。

36634079e322b0badf512373f6658fbc.png
  • 变量:postman中有多种变量,这里只列举了最常用的三种。因为我们所要测的接口往往很多,所以,你几乎就离不开这个功能
  • 集合:集合是postman的核心,几乎所有的功能都围绕着它转,或者是为它服务 。在它的里面有存放着最小的单元-请求
  • 运行器:主要是为集合生成测试结果,postman支持两种方式,界面和命令行。

集合的四大功能

在上图中,我们介绍到集合是postman的核心功能,接下来我们就介绍下集合最有使用价值的四个功能。

4ca469c17e266aa46fae1cd07d9a29a4.png

对集合非常有价值的四个功能,就是接口文档,mock服务,接口监控,分支管理 。在工作中都有实际的应用场景 。

集合就像我们的被测试系统,在它的下面可以新建目录(系统模块),模块下可以创建请求(测试用例) 。

我们真正要操作的就是每个请求

请求的运行过程

0a0a59371d538ec169ffefcdb19890c3.png

所有工具的使用,都要从入门开始。以下这篇文章带你进行工具安装,工具主框架介绍,以及最简单的功能上手 。postman教程-01-发送你的第一个请求

4种常见的接口请求

在做接口测试时,我们经常会遇到含有查询参数的接口,表单类型的接口,支持文件上传的接口,json类型接口。那么在postman中也同样支持这些接口的请求 。postman教程-02-四种常见接口请求

集合管理-Collections

如果说你使用postman所测的是一个系统或系统下的多个模块,那你就绝对离不开使用集合(Collection)来管理你的用例。在postman中,集合是所有功能的基础 ,好多功能尤其是一些高级功能都是基于集合进行操作的。并且它的批量执行功能,也是我们做自动化测试的必要条件 。

e075fb7615c94cae88a23232461833cc.png

如果你对集合还不是很了解,那么这篇文章带你入门:postman教程-03-Collection用例管理及批量执行

变量

变量的使用可以帮我们解决很多问题,可以使数据重复利用,也可以解决跨请求,跨集合的数据访问 。在postman支持多种变量,如局部变量、环境变量、集合变量、全局变量等 。定义适合的变量有助于脚本的稳定性和扩展性。

一文带你了解以上变量的定义和使用:postman教程-04-全局变量/环境变量/集合变量

断言-Tests

不言而喻,断言作为测试人员最常用功能,其断言库的丰富决定着我们的测试效率。postman有非常丰富的断言,更牛的是编写一个断言代码就可以对多个请求进行批量断言,配置起来也非常便捷。想了解都怎么实现,可以看下面的这篇文章。postman教程-05-强大的断言功能

接口关联

接口关联是做接口测试时经常遇到的问题,在面试时也会被经常问.在postman中解决接口关联的方案也有多种,其中之一就是通过变量去解决 。通过以下文章,带你了解如何解决接口关联的测试,文章链接:postman教程-06-如何解决接口关联

请求前置脚本-Pre-request Script

请求前置脚本,简单的说就是在发送请求前要执行的脚本,在做自动化测试时,每个功能的测试,会首先预定义好测试数据。那么,对于用postman做自动化的话,就可以通过它进行数据初始化,当然,这只是它的一种使用场景 。如果对此功能感兴趣,可以看看这篇文章 :postman教程-07-请求前置脚本

认证-Authorization

可以说我们所测的每个系统,都离不开认证,其中最常见的认证方式就是token。postman支持了多种常见的认证方式,通过此功能,可以大大的简化我们的工作量。文章链接:postman教程-08-认证(Authorization)

导入导出

使用postman做接口测试时,每次为填写各种乱七八糟的请求数据而烦恼吗?教你一招,导入浏览器的数据包,导入fiddler的数据包,导入接口文档Swagger的数据包,都能自动生成请求,戳这里:postman教程-09-导入/导出

快速查找与替换

有没有这样的需求,像在文本中批量替换字符串一样,可以在postman中也批量替换集合中的数据,变量中的数据;或是集合的请求太多的情况下,如何快速查找我们关注的请求。文章链接:postman教程-10-如何在集合中快速查询和替换数据

生成测试报告-newman

测试报告是脚本运行后的产物,是测试人员对质量评估的参考依据,是对代码质量最好的可视化数据。postman也支持生成测试报告,它提供了多种运行方式,多种报告格式。若感兴趣的话,可查看这篇文章:postman教程-11-如何通过newman生成不同类型的测试报告

pm对象解析

我们在postman的沙箱内使用到的每一句代码,几乎都会使用到pm . 它有很多的对象,也能帮我们做很多的功能扩展,如果想对pm有更深入的了解 ,来看这里:

postman教程-12-pm对象之sendRequest解析

postman教程-13-pm对象之常用变量方法解析

postman教程-14-pm对象之请求响应断言方法解析

集合运行器-Runner

批量运行集合用例时,我们会使用到 Collection Runner,但它里面有好多选项 ,你是否知道其含义 ?我们都知道,集合中的脚本执行顺序都是在Runner中控制的。但同时也支持在请求脚本中控制脚本的执行顺序 ? 感兴趣的可以看下这篇文章。文章链接 :postman教程-15-Runner说明及创建业务流

读取外部文件进行参数化

数据驱动都很熟悉,现在的很多工具也都支持数据驱动 。postman同样支持,可以满足你设计一条用例多条数据运行的需求。文章链接:postman教程-16-如何读取外部文件实现数据参数化

相关文章:

  • python 程序运行时间_python怎么加注释
  • iphone导出照片到电脑_如何将 Live Photo 以静态图片导出到电脑?
  • pycharm中文字体用什么好_实木家具erp用什么好
  • c语言prime函数怎么用_用一个自动关机小程序小试牛刀,玩转C语言System函数,边学边玩...
  • 红黑树的红黑有什么意义_蔡徐坤很优秀,很有礼貌,希望黑他的人可以越来越少...
  • java 代码过长_这份Java程序员珍藏书单,我交出来了!
  • logback不输出至文件_spring-boot-route(十六)使用logback生产日志文件
  • 返回1到n的所有组合python_python生成n个元素的全组合方法
  • python代码打包_Python学习笔记(一):Python代码的打包与发布
  • jad反编译工具_推荐一款阿里开源的 Java 诊断工具,好用到爆!
  • java二维矩阵怎么进行转置_面试官问:平常你是怎么对Java服务进行调优的?
  • bode函数_相干解调:三角函数公式有何用?原来就是通信中的调制解调过程
  • python stub_gRPC之python应用
  • 文件标识符无效。使用 fopen 生成有效的文件标识符。_Docker文件结构
  • python RTL自动生成_利用python制作报告自动化生成
  • 自己简单写的 事件订阅机制
  • 2017-08-04 前端日报
  • javascript面向对象之创建对象
  • Java知识点总结(JavaIO-打印流)
  • Octave 入门
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React的组件模式
  • SQLServer之创建显式事务
  • 从零开始学习部署
  • 读懂package.json -- 依赖管理
  • 多线程 start 和 run 方法到底有什么区别?
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 简单易用的leetcode开发测试工具(npm)
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 为视图添加丝滑的水波纹
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 携程小程序初体验
  • 走向全栈之MongoDB的使用
  • #Z2294. 打印树的直径
  • $.ajax()参数及用法
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (16)Reactor的测试——响应式Spring的道法术器
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Oracle)SQL优化技巧(一):分页查询
  • (二)c52学习之旅-简单了解单片机
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (四)JPA - JQPL 实现增删改查
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .Net Remoting常用部署结构
  • .NET 发展历程
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...