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

【接口测试】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:

KEYVALUE
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,那么正常执行。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java入门程序-HelloWorld
  • 在 Linux 系统中目录架构说明
  • 算法之搜索--最长公共子序列LCS
  • 传输层协议 —— UDP协议
  • 闲置物品交易系统小程序的设计
  • Go 交叉编译
  • <<编码>> 第 14 章 反馈与触发器(2)--或非门反馈 示例电路
  • Python MongoDB
  • 【C语言零基础入门篇 - 14】:顺序表
  • Android 15 正式发布至 AOSP
  • App及web反编译方案
  • vue3中如何拿到vue2中的this
  • 麒麟操作系统 xxl-job集群搭建
  • 毕业写作很难?分享5款论文AI写作软件永久免费版!
  • 【洛谷】P11062 【MX-X4-T2】「Jason-1」加法 的题解
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • js对象的深浅拷贝
  • js如何打印object对象
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Material Design
  • MySQL QA
  • React Native移动开发实战-3-实现页面间的数据传递
  • Redux系列x:源码分析
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Vue.js 移动端适配之 vw 解决方案
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • Zsh 开发指南(第十四篇 文件读写)
  • 创建一种深思熟虑的文化
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 异步
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • k8s使用glusterfs实现动态持久化存储
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • #include<初见C语言之指针(5)>
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (3)llvm ir转换过程
  • (4)STL算法之比较
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net dataexcel winform控件 更新 日志
  • .net访问oracle数据库性能问题
  • .NET技术成长路线架构图