IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Postman常用功能操作 -> 正文阅读

[开发测试]Postman常用功能操作

Postman是一款支持http协议的接口调试与测试工具,功能强大,使用简单且易用性好 。无论是开发人员进行接口调试,还是测试人员做接口测试,postman都是我们的首选工具之一 。

为了让便于大家快速了解其常用功能,尤其是接口测试中经常使用到的部分,我将从以下几个维度来加以说明。它们分别是:

  • 界面主要功能
  • JSON类型的接口请求
  • Collection
  • 断言
  • Tests Scripts
  • 变量
  • 接口关联

界面主要功能

在这里插入图片描述

JSON类型的接口请求

大部分接口都是JSON类型的接口请求,即请求头中Content-Type的类型为application/json。我们以登录接口为例演示如何使用Postman发送请求。
查看接口文档,登录请求接口信息如下:

  • 请求方法:POST
  • 请求URL: http://ServerIP:Port/user/login
  • 请求体数据:{“username”:“username”, “password”:“password”}
    Postman上操作步骤如下:
  1. postman上新建一个请求
  2. 设置相关参数,如下图所示:
    在这里插入图片描述
    在这里插入图片描述
  3. 点击Send后查看响应数据,如下图所示:
    在这里插入图片描述

Collection

Collection在Postman里的主要作用就是对接口测试用例进行集中批量管理,通过Collection,我们可以对用例进行分类管理和维护,同时可以对接口用例进行批量测试,方便进行回归测试。

创建Collection

点击Postman左上角新建或者在collection Tab菜单下点击"+"即可创建collection。
在这里插入图片描述

将测试用例添加到collection中

可以选择新建的collection,点击右下角的"…"按钮选择添加request,如下图所示:
在这里插入图片描述
也可编写好request后,选择保存request,然后在postman中弹出的对话框中选择保存到对应的collection中,如下图所示:
在这里插入图片描述

批量执行collection中的用例

点击collection右侧的三角形按钮,点击"Run",Postman会弹出一个叫Collection Runner的界面,默认会把Collection中的所有用例选中,如下图所示
在这里插入图片描述
点击运行按钮,就会对Collection中选中的所有测试用例运行。
在这里插入图片描述
执行完成后,可以查看对应执行结果
在这里插入图片描述

断言

断言主要是对request返回的数据进行相应的判断,从而方便我们进行自动化测试,postman提供的断言使用JS编写,在响应体数据返回后执行 。postman已经给我们内置了一些常用的断言 ,需要用的时候,只需从右侧点击其中一个断言,就会在文本框中自动生成对应断言代码块。
在这里插入图片描述
如上图所示,针对登陆这个接口,在Tests标签内对请求返回的数据使用了2个断言,第一个断言判断请求返回的状态码是否为200,第二个断言判断返回的token长度是否为32,这两个断言都通过测试的话基本可以认为这个接口测试是通过的。
Postman提供了的内置断言如果不满足需要的话,大家可以查阅官方文档里面提供的demo,链接如下:
Tests官方样例参考

Tests Scripts

在断言部分的介绍中,我们其实已经使用了Tests脚本,其实Postman 的 script 主要分成两类,一类是 Pre-Request Scripts,在发送请求之前执行,一类是 Tests,在接收到响应之后执行。
Collection/Folder/Request 层面都可以定义自己的 Pre-Request Scripts 和 Tests,执行顺序如下:

  • 与集合关联的预请求脚本将在集合中的每个请求之前运行
  • 与文件夹关联的预请求脚本将在文件夹中的每个请求之前运行
  • 与集合关联的测试脚本将在集合中的每个请求之后运行
  • 与文件夹关联的测试脚本将在文件夹中请求后运行

对于集合中的每个请求,脚本将始终根据以下层次结构运行:集合级脚本(如果有)、文件夹级脚本(如果有)、请求级脚本(如果有)。
在这里插入图片描述
单个请求的执行顺序如下:

  • 与请求关联的预请求脚本将在发送请求之前执行
  • 与请求关联的测试脚本将在请求发送后执行
    在这里插入图片描述

变量

变量使我们可以在请求或脚本中存储和重复使用其值,通过将值保存在变量中,可以在集合,环境或请求中引用。例如,我们的接口除了登录以外,所有接口都需要添加token信息,如果发送每个请求前都再执行一遍登录接口或者将请求token放到Pre-Request Scripts中未免显得有些繁琐,我们可以将登录接口返回的token存到变量中,后面接口发送请求时直接获取该变量值并填写到headers中即可。

变量类型

在postman常用的三种变量分别是全局变量,环境变量,集合变量 。

  • 全局变量:一旦声明了全局变量,全局有效,也就是说postman中的任何集合,任何请求中都可以使用这个变量。它的作用域是最大的 。
  • 环境变量:要声明环境变量,首先需要创建环境,然后在对应环境中创建变量。如果要想使用环境变量,必须先选择(导入)这个环境 。环境也可以创建多个,每个环境下又可以有多个变量 。
  • 集合变量:集合变量是针对集合的,也就是说声明的变量必须基于某个集合,它的使用范围针对这个集合有效 。

变量作用域

变量的作用域采用"就近原则",如果在两个不同的作用域中声明了同名的变量,那么将使用作用域最小的变量中存储的值——例如有一个全局变量和一个局部变量都命名为username,则请求时将使用局部变量的值运行。
在这里插入图片描述

定义变量

定义全局变量和环境变量,点击Postman右上角的小齿轮,弹出如下界面,就可以根据需求定义全局变量或者环境变量了。
在这里插入图片描述
集合变量可以点击集合右侧“…”按钮,选择“Edit”,选择变量选项卡添加或编辑变量
在这里插入图片描述
在这里插入图片描述

获取变量

如果在请求参数中获取变量,无论是获取全局变量,还是环境变量,还是集合变量,获取的方式都是一样的编写规则:{{变量名}} 。

请求参数指的是:URL,Params , Authorization , Headers , Body
如果是在编写代码的位置(Tests,Pre-requests Script)获取变量,获取不同类型的变量,编写的代码都不相同,具体如下:

  • 获取环境变量:pm.environment.get(‘变量名’)
  • 获取全局变量:pm.globals.get(‘变量名’)
  • 获取集合变量:pm.pm.collectionVariables.get.get(‘变量名’)

设置变量

设置变量在Tests和Pre-requests Script中进行

// Variables
// 这个方法会从上面所有的变量来源寻找对应的变量,就近原则,优先从最靠近自己的地方找
var value = pm.variables.get("variable_key"); 

// Globals
// 设置一个全局变量
pm.globals.set("variable_key", "variable_value");
// 取消设置全局变量,移除变量
pm.globals.unset("variable_key");

// Environments
// 设置一个环境变量
pm.environment.set("variable_key", "variable_value");
// 从环境中移除某一个变量
pm.environment.unset("variable_key");

// Collection
// 设置一个 collection 变量
pm.collectionVariables.set("variable_key", "variableValue");
// 从 collection 中移除一个变量
pm.collectionVariables.unset("variable_key");

// local
pm.variables.set("variable_key", "variable_value");
pm.variables.unset("variable_key");

接口关联

在接口测试中,我们经常遇到这种情形:上一个接口的返回数据是下一个接口的输入参数 ,那么这俩个接口就产生了关联。 这在做接口测试时非常常见,在postman中,实现这种关联关系的实现思路如下:

  • 提取上一个接口的返回数据值
  • 将这个数据值保存到环境变量或全局变量中
  • 在下一个接口获取环境变量或全局变量

我们在变量部分举的登陆获取token的例子就是这种场景。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-16 13:23:15  更:2022-01-16 13:24:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 5:33:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码