Postman的高级使用,傻瓜式学习【下】

news2025/1/13 8:04:27

目录

前言

  1、全局变量、环境变量

1.1、概念:

1.2、如何设置全局变量、环境变量

1.3、获取全局变量、环境变量

1.4、案例1:手动设置变量,请求参数获取

1.5、案例2:代码设置变量,代码获取变量

2、Postman读取外部数据文件(参数化)

2.1、数据文件CSV和JSON的优缺点

2.2、导入外部数据文件——CSV文件

1)创建xxx.csv文件

2)打开csv文件,添加数据

3)在Postman中如何导入数据文件

 2.3、导入外部数据文件——JSON文件

1)创建xxx.json文件

2)打开csv文件,添加数据

3)在Postman中如何导入数据文件

2.4、读物数据文件数据

2.5、案例1:使用CSV

3、Postman的工作原理

4、生成测试报告

4.1、安装node.js

4.2、安装newman

4.3、安装newman-reporter-html

4.4、生成测试报告的步骤


前言

        小伙伴们,可以先看看这篇Postman的高级使用,傻瓜式学习【上】,再看本篇内容~


  1、全局变量、环境变量

        上述,我们对Postman以上有了一个更深的理解了~

        接下来,我们来看全局变量和环境变量:

1.1、概念:

  • 全局变量:在Postman中,全局生效的变量,全局唯一
  • 环境变量:在特定的环境(生产环境、开发环境、测试环境)下,生效的变量,在本环境内唯一

1.2、如何设置全局变量、环境变量

代码设置:

全局变量设置:pm.globals.set(“全局变量名”,全局变量的值)

环境变量设置:pm.environment.set("环境变量名", 环境变量值)

手动设置:

举例设置全局变量:

环境变量也是一样的,环境变量设置后,只在对应环境中有效,所以我们需要记得勾选环境是哪个,环境的名字,是可以自定义的,例如我们有一个名叫测试的环境~

1.3、获取全局变量、环境变量

代码获取:

全局变量设置:var 接收值的变量 = pm.globals.get(“全局变量名”)

环境变量设置:var 接收值的变量 = pm.environment.get("环境变量名")

请求参数获取:

全局变量和环境变量在使用请求参数获取时,是一样的:{{variable}}

1.4、案例1:手动设置变量,请求参数获取

手动设置一个全局变量

手动设一个环境变量:

预览看一下:

我们现在给登录接口发送消息:

发送:

这里我们也可以来确认一下,Postman给服务器发送的最终url到底是什么样子的:

我们现在换一个环境,测试一下

1.5、案例2:代码设置变量,代码获取变量

咱们接着上面的案例,在前置脚本中设置变量,在断言中获取:

设置:

获取:

结果:

断言通过:

查看变量是否设置成功:

        这样看来,其实就可以很容易的理解到,是可以做到多个请求是可以关联起来的,例如可以A接口收到的某个数据设置为全局或环境变量,后面的接口就可以直接使用这个变量了,大家可以动手实操一下~我们就不带着做了~


2、Postman读取外部数据文件(参数化)

        当http请求,使用的数据有较高的相似度时,相同的请求,考虑使用参数化。参数化就是将数据组织到数据文件中~

2.1、数据文件CSV和JSON的优缺点

CSV的优点:

  • 数据组织形式简单,适用于大量数据的场景

CSV的缺点:

  • 不止bool类型数据(数据被Postman读入后,会自动添加双引号包裹,因此不支持~)
  • 不支持多参、少参、无参、错误参数的接口测试
  • 不支持复杂数据类型,如:嵌套字典、列表等

JSON的优点:

  • 支持bool类型
  • 支持多参、少参、无参、错误参数
  • 支持复杂数据类型

CSV的缺点:

  • 对于相同数据量,JSON数据文件会比CSV文件大得多~

2.2、导入外部数据文件——CSV文件

1)创建xxx.csv文件

2)打开csv文件,添加数据

这个csv文件,一定要使用记事本打开!!!不要使用电脑默认的Excel!!!

内容说明:第一行是数据对应的字段名;第二行从左向右依次是字段对应的数值,用英文逗号隔开

3)在Postman中如何导入数据文件

点击后:

点击Select file后:

选择自己准备好的外部文件即可~

看一下预览:

我们可以看到除了数值以外,Postman都已经为我们添加上了双引号~

 2.3、导入外部数据文件——JSON文件

1)创建xxx.json文件

2)打开csv文件,添加数据

json格式的数据,我们手写很容易出错,所以我们可以先在json.cn在线网站中写好后,复制过去:

复制至json文件中,保存即可~

3)在Postman中如何导入数据文件

        这里同csv文件的导入是一样的,就不说了~

我们导入后,来看看预览:

文件导入了,那我们如何读取文件中的内容呢?

2.4、读物数据文件数据

代码获取:

使用Postman提供的关键字data,然后点文件中的字段名或json中的key即可

请求参数获取:

请求参数获取时,使用:{{字段名 / json中的key}}

2.5、案例1:使用CSV

登录时,传入不同的username和password,会返回不同的msg

cvs中的数据:

postman中使用请求参数使用username1和password1:

在断言中使用代码的方式来获取文件中的msg:

准备运行:

然后选入自己的CSV文件,预览:

注:这个运行按钮也是批量执行测试用例的按钮~

结果:

 运行通过

我们来看看他发送的请求对不对:

json的使用,和CVS基本一样,我就不演示了~


3、Postman的工作原理

        我们把postman学到这里,Postman在工作中,常见的使用其实介绍的差不多了,我们来简单了解一下,postman的工作原理,能够更有利于我们对postman的使用的理解~

       我们来结合下图,更好理解:

        以上就是大致的postman的工作原理,这里主要是想让大家明白,哪一步先执行、哪一步后执行、哪一步在哪一步的前面~


4、生成测试报告

        在我们执行之前,需要安装一些东西,辅助我们能够生成测试报告。以下三个安装按这里的顺序安装哈~

4.1、安装node.js

下载:Download | Node.js

安装是,一路next就可以了

在cmd输入npm -v,能看到版本号,就是安装成功了:

        有的小伙伴可能安装了,这个命令也还是报错,那你想想看,是不是因为你安装的时候,更换安装路径了呢?你切换到你安装的路径下试试看? 不过还是建议重新安装以下哈,选择默认路径就好啦~

4.2、安装newman

打开命令行,输入npm install -g newman

安装中:

安装成功后,输入命令:newman -v

这里安装时,Windows终端有缺陷,所以不要在安装时,使用鼠标或键盘操作终端页面!!!

查看版本号,显示了版本号,则是安装成功了:

4.3、安装newman-reporter-html

安装命令:npm install -g newman-reporter-html

安装成功:

这个如果安装失败,后面会报错,后面说~

4.4、生成测试报告的步骤

  1. 批量执行测试用例(借助数据文件)
  2. 导出测试用例集(建议与数据文件放在一起)
  3. 执行生成测试报告的命令

        1)如果批量执行测试用例,上面我们使用数据文件时,其实就已经演示了~ 不会的伙伴,可以再去看看~

        2)导出测试用例集(最好就放在刚在使用的数据文件的同目录下),怎么导出,上一篇文章其实已经介绍过了,大家不会的可以去瞅瞅~

        3)在终端执行命令,生成测试报告

演示:

1、批量执行(具体就不演示,直接看批量执行的结果):

2、导出测试用例集(存放在数据文件同目录下):

3、执行生成测试报告的命令

执行命令:

# 完整的命令
newman run xxxx.json -e 环境变量文件 -d 外部数据文件 -r html --reporter-html-export 测试报告名.html

#如果没有环境变量文件,就不用写-e xxxx 
#如果没有外部文件,就不用写 -d xxxx
#如果不用成功测试报告的文件,直接显示在命令行里,就不用写-r html xxxxx

# 示例:
newman run 批量执行测试用例.postman_collection.json -r html --reporter-html-export 我的第一个测试报告.html

# 如果添加 -r html 就报错!说明: newman-reporter-html 安装失败!

例如,我这里的:

该路径下就会生成一个html文件~

如果newman-reporter-html 安装失败,会弹出这个提示:

好了,生成成后,我们来看看这个目录下的测试报告:

打开后看看:

好啦,postman的高级用法就介绍到这里咯,我们下期见~~~ 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jvm摘要

第 2 章 Java 内存区域与内存溢出异常 2.2 运行时数据区域 程序计数器-线程私有:是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 程序计数器是唯一一个没有规定任何OutOfMemoryError 情况的区域。 Java 虚拟机栈-线程私有:用于执行Java …

设计模式:桥接模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

上一篇《适配器模式》 下一篇《装饰器模式》 简介: 桥接模式,它是一种结构型设计模式,它的主要目的是将抽象部分与具体实现部分分离,使它们都可以独立地变化。…

【码银送书第九期】《ChatGPT 驱动软件开发:AI 在软件研发全流程中的革新与实践》

计算机技术的发展和互联网的普及,使信息处理和传输变得更加高效,极大地改变了金融、商业、教育、娱乐等领域的运作方式。数据分析、人工智能和云计算等新兴技术,也在不断地影响和改变着各个行业。 如今,我们正在见证人工智能技术的…

九方面解读国家数据局成立,可交易数据的五大特性探讨

​ 10月25日,国家数据局正式揭牌,标志着我国数据管理进入了新的阶段。国家数据局负责协调推进数据基础制度建设,统筹数据资源整合共享和开发利用,统筹推进数字中国、数字经济、数字社会规划和建设等,由国家发展和改革…

LeetCode刷题---简单组(四)

文章目录 🍒题目一 27. 移除元素🍒解法一🍒题目二 28. 找出字符串中第一个匹配项的下标🍒解法一🍒题目三 35. 搜索插入位置🍒解法一 🍒题目一 27. 移除元素 给你一个数组 nums 和一个值 val&…

MyBatis-Plus代码自动生成

前言 这是一段使用 MyBatis-Plus 自动生成代码的示例代码。MyBatis-Plus 是一个优秀的 ORM 框架,它在 MyBatis 的基础上进行了扩展和增强,提供了更加便捷、高效的数据库操作方式。在实际开发中,我们通常需要编写大量的 CRUD 操作代码&#x…

OpenCV官方教程中文版 —— 2D 直方图

OpenCV官方教程中文版 —— 2D 直方图 前言一、介绍二、OpenCV 中的 2D 直方图三、Numpy 中 2D 直方图四、绘制 2D 直方图 前言 本节我们会学习如何绘制 2D 直方图,我们会在下一节中使用到它。 一、介绍 在前面的部分我们介绍了如何绘制一维直方图,之…

TeamViewer

爱情就像两个拉皮筋的人,受伤的总是不愿放手的那一个! TeamViewer – 远程连接软件 点击下载 电脑版就下载电脑 安卓版就下载安卓 苹果版就下苹果

bug:Chrome插件SwitchyOmega安装时程序包无效:“CRX_HEADER_INVALID“问题

bug:Chrome插件SwitchyOmega安装时程序包无效:“CRX_HEADER_INVALID“问题 1 解决 先说解决办法: 将下载的crx重命名为xxx.zip,然后解压打开chrome的开发者模式 点击加载已解压的应用程序,然后选择我们解压后的文件夹即可 安装成…

MyBatisPlus自动填充

文章目录 MyBatisPlus自动填充应用场景在实体类里面规定要填充的字段写处理器测试 MyBatisPlus自动填充 应用场景 我们往数据库里面插入一条记录,或者是更新一条记录的时候,往往需要有插入时间和更新时间,如果每条sql语句里面都这样写&…

Spring使用注解进行注入

目录 前言 一、属性注入 1.1 属性注入的优缺点分析 二、Setter注入 2.1 Setter注入优缺点分析 三、构造方法注入 3.1 构造注入的优缺点 四、Qualifier注解 五、Resource注解 六、Resource注解与Autowired注解的区别 前言 在之前我们就已经了解过了Spring依赖注入的方式&#x…

word页脚设置,页脚显示第几页共有几页设置步骤

word页脚设置,页脚显示第几页共有几页设置步骤: 具体步骤: 步骤1: 步骤1.1选择页脚---空白页脚 步骤1.2,在"[在此处键入]",直接输入你需要的格式,如 “第页/共页” 步骤1.3选择第“…

基于ssm服装购物系统

功能如图所示 摘要 基于SSM框架的服装购物系统研究在当今数字化时代具有更为广泛的重要意义。首先,电子商务已成为商业领域的重要发展方向,尤其在全球范围内,服装零售商面临着不断增长的在线购物需求。这种研究能够帮助服装零售商迅速适应市场…

Failed to prepare the device for development

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的编码爱好者 大家好,我是 DevO…

班级管理神器

哈喽,亲爱的小红书教育朋友们!今天来分享一个重磅好物:班级查询系统!是的,你没有听错,让我们的孩子们告别信息混乱,告别手动统计,迎接高效、智能的班级管理新时代! 班级查…

appium+selenium自动化测试UI踩坑记录之--判断元素是否存在

判断应用程序元素是否存在,之前使用的代码如下,但是页面跳转后,通过xpath查找信息能查找到跳转前页面的内容,造成信息判断不准确。 # 从selenium.common.exceptions 模块导入 NoSuchElementException类from selenium.common.excep…

mysql主从搭建(gtid)

搭建mysql主从使用三台主机,主机信息如下 ip端口主机名角色10.1.60.803306rabbitmq04salve10.1.60.1143306rabbitmq01slave10.1.60.1153306rabbitmq02master 为每台主机修改主机名并配置hosts hostnamectl set-hostname rabbitmq04 vi /etc/hosts 10.1.60.114 …

【飞控调试】无人机电调哔-哔-哔-哔-哔...发出急促的响声

硬件 飞控:Pixhawk 6C mini 电调:好盈hobbywing Platinum 40A 固件:PX4 V1.13.3 问题 电调上电后,电机发出哔-哔-哔-哔-哔…发出急促的响声,进行电调校准也没用。 解决 在QGC里把SYS_USE_IO参数改成Disabled&…

Hyperledger Fabric搭建测试网络

本文使用的Fabric版本:V2.5.4 Ubuntu系统:16.04LTS 前序文章已经详细介绍了如何安装部署Hyperledger Fabric系统,这里不再赘述。本篇文章主要介绍如何使用Fabric的测试网络。在正式开始之前,有一点需要说明: Hyperled…

IndexError: Target 34 is out of bounds.

问题出现在训练用的标签处,标签超过范围,换了数据集后标签数发生改变,总而言之是目标分类数量超过了你所设置的标签数量的范围,归根结底是全连接参数没有改过来。找到label位置改一下数量