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

目录

前言

  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的高级用法就介绍到这里咯,我们下期见~~~ 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TypeScript深度剖析:TypeScript 中命名空间与模块的理解?区别?

一、模块 TypeScript 与 ECMAScript 2015 一样,任何包含顶级 import 或者 export 的文件都被当成一个模块 相反地,如果一个文件不带有顶级的import或者export声明,那么它的内容被视为全局可见的 例如我们在在一个 TypeScript 工程下建立一…

canvas:理解canvas / 基础使用 / Demo效果

一、理解Canvas Canvas是一个HTML5元素,用于在Web页面上绘制2D或3D图形。它允许使用JavaScript在网页上创建和操作图形。Canvas的主要功能是绘图,但也可以用来实现其他功能,如动画和交互式游戏。 使用Canvas,可以创建各种形状、…

Vue的快速入门

Vue的快速入门 下载并安装vue.js Vue是一个基于JavaScript实现的框架, 要使用它就需要从[Vue官网]((https://cn.vuejs.org/)下载 vue.js 文件 第一步:打开Vue2官网,点击下图所示的“起步” 第二步:继续点击下图所示的“安装” 第三步&…

深度学习(4)---生成式对抗网络(GAN)

文章目录 一、原理讲述1.1 概念讲解1.2 生成模型和判别模型 二、训练过程2.1 训练原理2.2 损失函数 三、应用 一、原理讲述 1.1 概念讲解 1. 生成式对抗网络(Generative Adversarial Network,GAN)是一种深度学习模型,是近年来复杂…

万字解析设计模式之原型模式与建造者模式

一、原型模式 1.1概述 原型模式是一种创建型设计模式,其目的是使用已有对象作为原型来创建新的对象。原型模式的核心是克隆,即通过复制已有对象来创建新对象,而不是通过创建新对象的过程中独立地分配和初始化所有需要的资源。这种方式可以节…

nrf52832 开发板入手笔记:J-Flash 蓝牙协议栈烧写

前言 nrf52832 想要开启 蓝牙功能,比如蓝牙主从机功能,需要额外烧写 蓝牙协议栈的固件:softdevice,换句话说,蓝牙协议栈等代码是不开放的,只提供一个 二进制文件。 也就是 nrf52832 Flash 与 RAM 要分区了…

[激光原理与应用-72]:PLC架构与工作原理

目录 一、PLC简介 1.1 概述 1.2 基本组成 1.3 常见的PLC品牌比较 二、PLC程序执行原理 2.1 PLC有操作系统吗? 2.2 PLC程序执行 2.3 PLC编程语言 2.4 PLC编程过程 三、PLC编程工具 3.1 编程工具 四、PLC与工控机协同 4.1 PLC需要配置工控机吗&#xff1…

滴滴学生认证拉新上线了 地推网推百搭项目

滴滴学生认证可以通过“聚量推客”申请,是一手官签服务商 量级足够大 优势:实时数据T1结算 百分百数据 滴滴学生认证可搭配小红书签到拉新、美团私域校园版拉新、美团圈圈拉新一起做,这样能赚取更多佣金

springboot和flask整合nacos,使用openfeign实现服务调用,使用gateway实现网关的搭建(附带jwt续约的实现)

环境准备: 插件版本jdk21springboot 3.0.11 springcloud 2022.0.4 springcloudalibaba 2022.0.0.0 nacos2.2.3(稳定版)python3.8 nacos部署(docker) 先创建目录,分别创建config,logs&#xf…

Chatgpt网页版根据关键词自动批量写原创文章软件【可多开自动登录切换gpt账号】

Chatgpt网页版根据关键词自动批量写原创文章软件介绍: 1、需要放入GPT账号和密码放入在账号库.txt里,可以放入多组账号密码,账号切换轮流使用。 2、可以自定义回答指令,也可多个回答指令随机切换。 3、可以给关键词加双标题&…

【EI会议征稿】 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)

2024年遥感、测绘与图像处理国际学术会议(RSMIP2024) 2024 International Conference on Remote Sensing, Mapping and Image Processing 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)将于2024年1月19日-21日在中国厦门举行。会议主要围绕遥感、测绘与图像处理等研究领…

宝塔Linux面板Java项目前后端部署 (PHP部署前端文件)

1. 上传前端文件 将整个文件夹拖进来 2. PHP项目 (添加站点) 添加证书SSL 新增配置文件 location /dev-api/{proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_…

网络新闻发稿为何经久不衰?

有的老板可能看不到新闻营销的直接回报,一直不乐意在此方面投入,但是却看到竞争对手一直在搞新闻营销,也就安排个PR做做新闻公关。小马识途营销顾问观察,自互联网诞生以来,新闻营销一直是网络营销工作中的一个重点。 如…

Mysql系列 -索引数据结构

索引就是排好序的数据结构,可以帮助我们快速的查找到数据,那么底层的数据到底是如何存储的呢? 为什么InnoDB 用的是Btree 存储结构? 大家可以看看这个可视化的网站 数据结构和算法的可视化工具 可以看到数据结构里面有链表&…

学习笔记|配对样本均数T检验|SPSS常用的快捷键|规范表达|《小白爱上SPSS》课程:SPSS第六讲 | 配对样本均数T检验

目录 学习目的软件版本原始文档配对样本均数T检验一、实战案例二、案例解析三、统计策略四、SPSS操作1、正态性检验2、配对样本T检验 五、结果解读六、规范报告1、规范表格2、规范文字 划重点Tips:SPSS常用的快捷键 学习目的 SPSS第六讲 | 配对样本均数T检验 软件版本 IBM S…

【JavaSE专栏58】“Java构造函数:作用、类型、调用顺序和最佳实践“ ⚙️⏱️

解析Java构造函数:作用、类型、调用顺序和最佳实践" 🚀📚🔍🤔📝🔄⚙️⏱️📖🌐 摘要引言1. 什么是构造函数 🤔2. 构造函数的类型与用途 📝1.…

课题学习(九)----阅读《导向钻井工具姿态动态测量的自适应滤波方法》论文笔记

一、 引言 引言直接从原论文复制,大概看一下论文的关键点: 垂直导向钻井工具在近钻头振动和工具旋转的钻井工作状态下,工具姿态参数的动态测量精度不高。为此,通过理论分析和数值仿真,提出了转速补偿的算法以消除工具旋…

【如何写论文】硕博学位论文的结构框架、过程与大纲分析

硕士论文可以说是毕业前最重要的一部分,也可以说是展示和检验你3年研究生学习的成果的一个考试。硕士论文答辩和检验合格,才能够顺利拿到毕业生和学位证,可见其重要性。 目录 一、基础框架1.1、摘要(Abstract)1.2、绪论…

PFAF-Net

I 1 _1 1​和I 2 _2 2​是多模态图像,I F _F F​是融合图像。FT 1 _1 1​是基于空间注意力的融合,FT 2 _2 2​是基于通道注意力的融合 作者未提供代码

【贝叶斯回归】【第 1 部分】--pyro库应用

Bayesian Regression - Introduction (Part 1) — Pyro Tutorials 1.8.6 documentation 一、说明 我们很熟悉线性回归的问题,然而,一些问题看似不似线性问题,但是,用贝叶斯回归却可以解决。本文使用土地平整度和国家GDP的关系数据…