【接口测试】Postman(三)-变量与集合

一、变量

​ 变量这个概念相信大家都不陌生,因此在这里我们不介绍了。主要说一下在Postman中有哪几类变量,主要包括以下四类:

  • Global(全局)

  • Environment(环境)

  • Local(本地)

  • Data(数据) 在本文中我们只介绍全局变量与环境变量的用法

1、环境变量

​ 环境变量可以理解为局部变量,他会随着环境的变化而变化。

(1)创建环境变量

我们可以点击右上角的小眼睛,管理环境变量

然后我们点击add

然后输入环境变量的信息完成后Ctrl S保存即可

(2)管理环境变量

​ 在添加环境变量界面,我们除了可以在创建环境变量,我们还能共享、复制、导出、删除以及导入环境变量JSON文件等操作。这里就不详细介绍了,操作比较简单。

(3)选择与编辑环境变量

既然我们创建了环境变量,那么我们就要选择使用他,选择非常简单点击我们小眼睛旁边的下拉框选中所创建的环境变量即可

至于编辑环境变量,进入界面方式与创建一样,只不过add变成了edit,只不过你需要先选择你需要编辑的环境变量

2、全局变量

​ 全局变量顾名思义是可以在所有范围内被引用的一种变量

(1)管理全局变量

全局变量的管理其实与环境变量一样,都是点击小眼睛后点击add或edit

二、集合

Postman中集合是用来存放多个请求。这里意思比较通俗易懂,我们不详细介绍了,直接进入正题吧。 我们为什么要使用集合呢?

  1. 将请求保存到集合中,能够结构化保存我们的请求,方便后面重复使用

  2. 方便我们构成集成测试套件,类似与我们Junit中的Test Suite

  3. 方便使用脚本在接口之间传递数据,构建实际用例的流

1、创建集合

选中侧边栏【Collections】,这里根据版本不同可能长得不一样,不过基本都是在左边

点击+或者点击new都可(点击new的话需要选择Collections),然后输入集合名即可

2、保存请求到集合

这个其实非常的简单,我们在需要保存的请求点击保存按钮或者直接Ctrl S会弹出保存弹窗,在下面选择要保存到的集合就可以了

或者我们可以直接右键集合,然后点击添加请求也可以

同时我们还可以再左侧History中保存之前运行过的请求到集合

我们还可以右键集合对集合进行复制

3、分享集合

这里我们有两种分享方式,一种需要登录账号通过在线方式分享,一种通过导出集合文件进行分享,这里我们只介绍后者

右键需要分享的集合,选择Export

然后直接导出就行

至于导入的话,在我们创建的时候,new旁边有个import,对,没错,就是点击它

三、集合执行

既然我们有了集合,我们就需要去执行他,接下来我们介绍一下集合执行的一些操作

1、集合运行参数

我们可以点击集合进入集合,然后点击Run(这里版本不同操作不一样,有的版本直接右键集合就可以Run)

我们来介绍一下一些参数吧

首先左侧是选择我们需要执行的脚本,这个不解释了

主要我们看右边

  1. Environment:就是选择我们需要使用的环境变量

  2. lterations:迭代次数,也就是我们集合运行的次数

  3. Delay:设置发送每个请求之间的间隔,这个比较好理解

  4. Data:这里是为集合提供运行的数据文件,一般用来设置文件参数化用。

2、使用数据文件

这里我们编写一个示例

请求方式:POST

URL:Postman

Body:

KEY

VALUE

foo

{{value}}

{{value}}表示引用了value这个变量

然后我们在Tests中编写脚本设置检查点验证我们的请求

highlighter- JavaScript

var jsonData = JSON.parse(responseBody); tests['Response has datan value'] = jsonData.form.foo === data.value

然后我们参数化的文件可以采用CSV或者JSON文件,在这里我们采用CSV,CSV文件如下

json

path,value post,'1' post,'2' post,'3' post,'4'

大家在创建CSV文件的时候,如果带有中文需要注意一下我们字符集的问题

直接在runner界面选择文件即可

选择之后可以手动设置格式以及预览文件

然后我们运行,全部通过(记得勾选save response)

3、创建工作流

在集合当中,各个请求的执行顺序是可以控制的,在这里我们采用setNextRequest()方法来控制下一个执行的请求,我们直接上样例:

首先我们先创建四个请求:

https://postman-echo.com/get?foo1=bar1

另外三个参数分别为foo2=bar2;foo3=bar3;foo4-bar4

接下来我们在Request 1请求的Tests编写代码:

javascript

postman.setNextRequest("Request 4")

执行集合,我们会发现运行完Request 1后直接运行Request 4而不会运行中间的两个请求

当然在现实运用中我们肯定不会这么简单的,我们经常会使用循环和分支语句来控制工作流,例如在本例中,我们可以进行略微修改一下:

javascript

if (responseCode.code === 401) { postman.setNextRequest("Request 4"); }

当请求报401的时候,我们跳过中间两个请求,如果请求为200,那么正常执行。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 731789136,里面有各种测试开发资料和技术可以一起交流哦。

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/296055.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32实现流水灯

led.c #include"led.h"void Led_Init(void) {GPIO_InitTypeDef GPIO_VALUE; //???RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//???GPIO_VALUE.GPIO_ModeGPIO_Mode_Out_PP;//???? ????GPIO_VALUE.GPIO_PinGPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_…

分布式Session使用步骤

目录 1. 为什么用分布式Session2. Spring-Session使用步骤2-1. 添加依赖2-2. yml配置 1. 为什么用分布式Session 将一个项目部署到多台服务器上时,多台服务器的Tomcat的Session不共享。那么就有可能造成Session数据不一致情况,所以此时就需要使用分布式…

网络基础知识制作网线了解、集线器、交换机与路由器

目录 一、网线的制作 1.1、材料 1.2、网线的标准类别 二、集线器、交换机介绍 2.1、概念: 2.2、OSI七层模型 2.3、TCP/IP四层 三、路由器的配置 3.1、概念 3.2、四个模块 1、 网络状态 2、设备管理 3、应用管理 无人设备接入控制 无线桥接 信号调节…

并发踩坑:list共享变量的addAll

背景: 某业务报错了,提示:Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.util.ConcurrentModificationException 分析: 这是执行查询时报的 并发修改异常。大概逻辑…

设计模式(3)--对象结构(7)--代理

1. 意图 为其它对象提供一种代理以控制对这个对象的访问。 2. 三种角色 抽象实体(Subject)、真实实体(RealSubject)、代理(Proxy) 3. 优点 3.1 远程代理可以隐藏一个对象存在于不同地址空间的事实。 3.2 虚拟代理可以进行最优化。 3.3 保护代理和智能引用都允许在访问对象时有…

HarmonyOS4.0系统性深入开发02 UIAbility组件详解(上)

UIAbility组件概述 概述 UIAbility组件是一种包含UI界面的应用组件,主要用于和用户交互。 UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口;一个UIAbility组件中可以通过多个页面来实现一个功能模块。每一个UIAbility组件实例…

Blazor 混合开发_MAUI+Vue_WPF+Vue

Blazor 混合开发_MAUIVue_WPFVue 背景混合开发的核心为什么必须使用 wwwroot 文件夹放置 Web 项目文件 创建 MAUI 项目创建 wwwroot 文件夹服务注册创建 _import.razor添加 Main.razor 组件修改 MainPage.xaml 文件 创建 WPF 项目创建 wwwroot 文件夹服务注册创建 _import.razo…

使用 pytest.ini 文件控制输出 log 日志

一、前置说明 pytest.ini 文件中可以配置参数来控制 pytest 的运行行为,其存放路径要求与 conftest.py 一样。 项目根目录project_root/ ├── pytest.ini ├── tests/ │ └── test_demo.py以test开头的测试子目录project_root/ ├── tests/ │ ├── pytest.in…

一文详解SpringBoot 定时任务(cron表达式)

IDE:IntelliJ IDEA 2022.2.3 x64 操作系统:win10 x64 位 家庭版 JDK: 1.8 文章目录 一、如何开启一个SpringBoot定时任务?二、cron表达式详解2.1 语法格式2.2 符号解析2,2.1 通用符号: , - * /2.2.2 专有符号:?L w 2.3…

STM32——CAN协议

文章目录 一.CAN协议的基本特点1.1 特点1.2 电平标准1.3 基本的五个帧1.4 数据帧 二.数据帧解析2.1 帧起始和仲裁段2.2 控制段2.3 数据段和CRC段2.4 ACK段和帧结束 三.总线仲裁四.位时序五.STM32CAN控制器原理与配置5.1 STM32CAN控制器介绍5.2 CAN的模式5.3 CAN框图 六 手册寄存…

智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于材料生成算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.材料生成算法4.实验参数设定5.算法结果6.…

【内存泄漏】内存泄漏及常见的内存泄漏检测工具介绍

内存泄漏介绍 什么是内存泄漏 内存泄漏是指程序分配了一块内存(通常是动态分配的堆内存),但在不再需要这块内存的情况下未将其释放。内存泄漏会导致程序浪费系统内存资源,持续的内存泄漏还导致系统内存的逐渐耗尽,最…