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

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

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

相关文章

win10虚拟机安装教程

目录 1、安装VMware 10、12、16都可以,看个人选择 2、开始安装系统(以vm16为例) 3、在虚拟机中安装win10 完成 1、安装VMware 10、12、16都可以,看个人选择 下面链是我虚拟机安装包,需要可以下载。 YR云盘 软件安…

HTTP 响应状态码介绍

HTTP 响应状态码用来表明特定 HTTP 请求是否成功完成。响应被归为以下五大类: 1xx 信息响应 (100–199) 2xx 成功响应 (200–299) 3xx 重定向消息 (300–399) 4xx 客户端错误响应 (400–499) 5xx 服务端错误响应 (500–599)1xx 信息响应 100 Continue 这个临时响应…

二叉树的后续遍历(迭代法)

迭代法实现二叉树的后续遍历 1、递归版本 public static void dfs(TreeNode root){if(rootnull){return;}if(root.left!null)dfs(root.left);if(root.right!null)dfs(root.right);System.out.println(root.val); }从递归版本可以看出我们第一步需要遍历完所有的左节点 这里我…

字符串原型方法

常见有34种(去除已经弃掉的方法): String.prototype.at()String.prototype.charAt()String.prototype.charCodeAt()String.prototype.codePointAt()String.prototype.concat()String.prototype.endsWith()String.prototype.includes()String…

树莓派基金会近日发布了新版基于 Debian 的树莓派操作系统

树莓派基金会(Raspberry Pi Foundation)近日发布了新版基于 Debian 的树莓派操作系统(Raspberry Pi OS),为树莓派单板电脑带来了新的书虫基础和一些重大变化。 新版 Raspberry Pi OS 的最大变化是它现在基于最新的 Deb…

git基本命令

gti stash使用场景 切换分支: git stash可以将但当前修改保存起来,之后可以直接切换分支开始其他分支的操作 合并代码: git stash保存当前分支修改,切换其他分支执行更新合并操作后, 切换之前的分支后通过 git stash pop来获取栈顶保存的修改来恢复到之前的修改 代码审查: 在…

【表面缺陷检测】钢轨表面缺陷检测数据集介绍(2类,含xml标签文件)

一、介绍 钢轨表面缺陷检测是指通过使用各种技术手段和设备,对钢轨表面进行检查和测量,以确定是否存在裂纹、掉块、剥离、锈蚀等缺陷的过程。这些缺陷可能会对铁路运输的安全和稳定性产生影响,因此及时进行检测和修复非常重要。钢轨表面缺陷…

[架构之路-243]:目标系统 - 纵向分层 - 架构是表面轮廓、内部骨架、未来蓝图,企业组织架构、信息系统架构、软件架构、应用程序就架构

目录 一、什么是架构 1.1 架构是表面轮廓 1.2 架构是内部骨架 1.3 架构是蓝图,是愿景 1.4 架构是数据流、控制流、管理流、同步流 1.5 数据、控制、同步、管理的比较 二、架构的层级 2.1 企业组织架构 2.2 企业系统架构 2.2 信息系统架构 2.3 软件架构 …

SpringMVC系列-6 异常处理器

背景 本文作为 SpringMVC系列 的第六篇,介绍SpringMVC的异常处理器。内容包括异常处理器的使用方式、实现原理和内置异常处理器的装配过程。 1.使用方式 自定义异常类,用于异常处理器: public class ClientException extends RuntimeExce…

CTF-php特性绕过

注意&#xff1a;null0 正确 nullflase 错误 Extract变量覆盖 <?php$flagxxx; extract($_GET);if(isset($shiyan)){ $contenttrim(file_get_contents($flag));//trim移除引号if($shiyan$content){ echoctf{xxx}; }else{ echoOh.no;} }?> extract() 函数从数组中将…

react中的函数柯里化

函数柯里化是一种将接受多个参数的函数转化为一系列接受单一参数的函数的技术。在React开发中&#xff0c;函数柯里化可以帮助我们更好地组织组件的代码&#xff0c;使其具有更好的可读性和可复用性。 一个简单的函数柯里化示例&#xff1a; function add(a) {return functio…

主流大语言模型的技术细节

主流大语言模型的技术原理细节从预训练到微调https://mp.weixin.qq.com/s/P1enjLqH-UWNy7uaIviWRA 比较 LLaMA、ChatGLM、Falcon 等大语言模型的细节&#xff1a;tokenizer、位置编码、Layer Normalization、激活函数等。2. 大语言模型的分布式训练技术&#xff1a;数据并行、…

SQL LIKE 运算符

SQL LIKE 运算符 在WHERE子句中使用LIKE运算符来搜索列中的指定模式。 有两个通配符与LIKE运算符一起使用&#xff1a; &#xff05; - 百分号表示零个&#xff0c;一个或多个字符_ - 下划线表示单个字符 注意&#xff1a; MS Access使用问号&#xff08;?&#xff09;而不是…

如何配置微信小程序id

使用uni-app开发微信小程序项目&#xff0c;配置好微信小程序id是必不可少的。 一、如何找微信小程序id 二、如何配置微信小程序id

基于spring-boot框架,监听nacos配置变化(比如运行中改变日志级别)

背景 如果想在运行过程中想基于nacos数据变更做一些业务&#xff0c;比如想在运行过程中变更日志的级别&#xff0c;那么我们可以扩展nacos的监听。 步骤 定义一个配置类&#xff0c;用NacosConfigListener标记需要触发的方法&#xff0c;并用dataId标记需要监听的文件。如下…

编写两位数合并为一个数的程序,用C++及C语言分别实现。

编写一个程序,将两个两位数的正整数a和b合并成一个整数放在c中。合并方式是:将a数的十位和个位依次放在c数的个位和百位上&#xff0c;将b数的十位和个位放在c数的十位和千位上。例如:假如 a12&#xff0c;b34&#xff0c;则c4231。 C实现&#xff1a; #include <iostream…

Jupyter Notebook还有魔术命令?太好使了

在Jupyter Notebooks中&#xff0c;Magic commands&#xff08;以下简称魔术命令&#xff09;是一组便捷的功能&#xff0c;旨在解决数据分析中的一些常见问题&#xff0c;可以使用%lsmagic 命令查看所有可用的魔术命令 插播&#xff0c;更多文字总结指南实用工具科技前沿动态…

前端 JS 经典:宏任务、微任务、事件循环(EventLoop)

1. 前言概览 js 是一门单线程的非阻塞的脚本语言 单线程&#xff1a;只有一个主线程处理所有任务 非阻塞&#xff1a;有异步任务&#xff0c;主线程挂起这个任务&#xff0c;等异步返回结果再根据一定规则执行 2. 宏任务与微任务 都是异步任务宏任务&#xff1a;script 标签&a…

每日一题 274. H 指数(中等)

先讲一下自己的复杂的写法 第一眼最大最小值问题&#xff0c;直接在0和最大被引次数之间二分找答案先排序&#xff0c;再二分&#xff0c;&#xff0c;&#xff0c; 正解&#xff1a; 排序得到 citations 的递减序列&#xff0c;通过递增下标 i 遍历该序列显然只要排序后的 …

102.linux5.15.198 编译 firefly-rk3399(1)

1. 平台&#xff1a; rk3399 firefly 2g16g 2. 内核&#xff1a;linux5.15.136 &#xff08;从内核镜像网站下载&#xff09; 3. 交叉编译工具 gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 4. 宿主机&#xff1a;ubuntu18.04 5. 需要的素材和资料&#xff…