day08 接口测试(3)——postman工具使用

 下载 postman 的历史版本:Postman 历史版本下载 - 简书

今天开始学习 postman 这个测试工具啦。

【没有所谓的运气🍬,只有绝对的努力✊】

目录

1、postman简介

2、postman的安装

3、给postman安装插件——newman

3.1 环境安装

3.1.1 安装nodejs

3.1.2 给postman安装 newman插件

3.1.3 给newman安装  newman-reporter-html插件

3.2 案例——使用postman请求

​编辑

3.3 免费的接口用来做测试

4、postman应用

4.1 管理测试用例

(1)创建collections

(2)修改用例集名称

(3) 添加请求

(4)请求+保存

(5)添加子目录 add folder

4.2 导出用例集 

(1)导出

(2)默认即可

(3)导出的文件

4.3 导入

5、postman断言

5.1 断言响应状态码

5.2 断言响应体是否包含某个字符串

5.3 断言响应体是否等于某个字符串(对象)

5.4 断言JSON数据

5.5 断言响应头

5.6 断言小结

5.7 postman断言工作原理

6、小结

7、全局变量与环境变量

7.1 全局变量设置与获取

7.2 环境变量设置与获取

8、postman 请求前置脚本

8.1 时间戳介绍

8.2 请求前置脚本——案例

step1:在Pre-request Script标签页中,添加代码。

step2:点击send按钮,

step3: 在请求界面中,使用全局变量。

step4:在postman的控制台查看请求

8.3 请求前置脚本工作原理

9、postman的关联

9.1 案例——天气接口获取城市名称

【step1】获取天气接口,提取响应结果中的城市。 

【step2】将全局变量给 百度搜索

10、postman执行批量测试用例

11、postman生成测试报告(完成3.1的安装)

12、小结


1、postman简介

2、postman的安装

下载安装包,下一步下一步即可安装成功。

注册邮箱,进行登录。

3、给postman安装插件——newman

3.1 环境安装

3.1.1 安装nodejs

3.1.2 给postman安装 newman插件

npm install -g newman

使用淘宝镜像安装超级快(强烈推荐):NewMan安装报错 npm install rollbackFailedOptional: verb npm-session 解决办法_newman安装失败-CSDN博客 

验证newman是否安装成功:newman -v

3.1.3 给newman安装  newman-reporter-html插件

npm install -g newman-reporter-html

3.2 案例——使用postman请求

3.3 免费的接口用来做测试

# get https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=%E6%8E%A5%E5%8F%A3&pos_id=mgpNYnIy
http://v1.yiketianqi.com/api?version=v10&appid=55983455&appsecret=4vK6wEW0

4、postman应用

4.1 管理测试用例

(1)创建collections

(2)修改用例集名称

(3) 添加请求

(4)请求+保存

(5)添加子目录 add folder

4.2 导出用例集 

(1)导出

  

(2)默认即可

(3)导出的文件

4.3 导入

5、postman断言

 postman 断言借助javascript 编写代码,自动判断预期结果与实际结果是否一致。

5.1 断言响应状态码

// 断言响应状态码是否为200
pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});

pm :代表postman 的一个实例

test() :是pm实例的一个方法。有两个参数。

        参数1:在断言结束后,给出的文字提示,可以修改"Status code is 200"

        参数2:匿名函数。

                        pm.response.to.have.status(200);

                        postman的响应结果中应该包含状态码200。

5.2 断言响应体是否包含某个字符串

pm.test("断言响应体包含指定字符串", function () {pm.expect(pm.response.text()).to.include("101230501");
});

5.3 断言响应体是否等于某个字符串(对象)

pm.test("Body is correct", function () {pm.response.to.have.body({"update_time": "10:00","cityid": "101230501","city": "泉州市","cityEn": "","country": "","countryEn": "","air": "23","air_level": "优","air_tips": "空气质量令人满意,基本无空气污染。","pm25": "15","pm25_desc": "优","pm10": "23","pm10_desc": "优","o3": "41","o3_desc": "","no2": "16","no2_desc": "","so2": "2","so2_desc": "","co": "0.5","co_desc": "","kouzhao": "不用佩戴口罩","yundong": "适宜运动","waichu": "适宜外出","kaichuang": "适宜开窗","jinghuaqi": "不需要打开","uvIndex": "6","uvDescription": "强"
});
});

5.4 断言JSON数据

pm.test("断言结果code为1", function () {var jsonData = pm.response.json();pm.expect(jsonData.code).to.eql(1);
});/*** var jsonData = pm.response.json(); * jsonData取到的结果为:* {*      'code':1,*      'data':{}* }* * jsonData.code  一般选择不会变化的。* jsonData.data  每次都会变化。*/

5.5 断言响应头

pm.test("断言响应头", function () {pm.response.to.have.header("Content-Type");
});// 或者pm.test("断言响应头", function () {pm.response.to.have.header("Content-Type","text/html,application/json; charset=utf-8");
});

5.6 断言小结

5.7 postman断言工作原理

6、小结

7、全局变量与环境变量

7.1 全局变量设置与获取

【设置】        

        代码设置:pm.globals.set('var_name', value);

【获取】

        代码中获取变量:pm.globals.get('var_name');

        请求参数中获取:{{var_name}}

7.2 环境变量设置与获取

【设置】

        代码设置:pm.environment.set('var_name', value);

【获取】

        获取变量:pm.environment.get('var_name');

        请求参数中获取:{{var_name}}

8、postman 请求前置脚本

8.1 时间戳介绍

时间戳:对应绝对时间——从1970年1月1日00:00:00 到现在所经历的秒数。

8.2 请求前置脚本——案例

案例:调用百度首页,传时间戳给服务器。

step1:在Pre-request Script标签页中,添加代码。

拿到时间戳,写入全局变。

// 获取时间戳
var timestamp = new Date().getTime();// 将时间戳 设置全局变量
pm.globals.set('global_timestamp', timestamp);

step2:点击send按钮,

发送请求,请求发送前,执行上述 代码。写入全局变量。

 

step3: 在请求界面中,使用全局变量。

step4:在postman的控制台查看请求

8.3 请求前置脚本工作原理

9、postman的关联

应用于多个http请求之间,有数据关联,或依赖关系。

9.1 案例——天气接口获取城市名称

 

【step1】获取天气接口,提取响应结果中的城市。 

【step2】将全局变量给 百度搜索

10、postman执行批量测试用例

点击→Run collection→ Run

11、postman生成测试报告(完成3.1的安装)

step1:批量执行测试用例集

step2:导出用例集 export(得到啊xxx.json文件)

step3:在终端中执行命令,生成测试报告

newman run 2024年.postman_collection.json -r html

运行在xxx.json同级文件里面生成文件夹,如下所示:

12、小结


今天主要学习关于postman相关的知识点,发现自己之前用的postman,只会执行。原来里面有好多好多要学习的内容,还可以写断言、有前置脚本、有全局变量、环境变量等等。

【没有所谓的运气🍬,只有绝对的努力✊】

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

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

相关文章

README写作技巧

做一个项目,首先第一眼看上去要美观,这样才有看下去的动力。做项目亦是如此,如果每一步应付做的话,我想动力也不会太大,最终很大概率会放弃或者进度缓慢。 1.README组成 README是对项目的一个说明,它对观看…

渗透测试---burpsuite(5)web网页端抓包与APP渗透测试

声明:学习素材来自b站up【泷羽Sec】,侵删,若阅读过程中有相关方面的不足,还请指正,本文只做相关技术分享,切莫从事违法等相关行为,本人与泷羽sec团队一律不承担一切后果 视频地址:泷羽---bp&…

【Springboot3+vue3】从零到一搭建Springboot3+vue3前后端分离项目之前端环境搭建

【Springboot3vue3】从零到一搭建Springboot3vue3前后端分离项目之前端环境搭建 2 前端环境搭建2.1 环境准备2.2 创建Vue3项目2.3 项目搭建准备2.4 安装Element Plus2.5 安装axios2.5.1 配置(创建实例,配置请求,响应拦截器)2.5.2 …

11.27-12.5谷粒商城

目录 新增商品 1.上线会员服务 2. 获取分类关联的品牌 3.获取选定分类下的属性分组和属性 4.新增商品vo 5.保存商品信息 6.Spu检索 7.Sku商品检索 新增商品 1.上线会员服务 将会员服务注册到nacos注册中心,启用服务注册发现EnableDiscoveryClient。 同时新增…

深入解析非桥PCI设备的访问和配置方法

往期内容 本文章相关专栏往期内容,PCI/PCIe子系统专栏: 嵌入式系统的内存访问和总线通信机制解析、PCI/PCIe引入 Uart子系统专栏: 专栏地址:Uart子系统 Linux内核早期打印机制与RS485通信技术 – 末片,有专栏内容观看…

ArrayList常见操作源码逐句剖析

目录 前言 正文 1.需要了解的一些字段属性 1.存储 ArrayList 元素的数组缓冲区。 2.集合的大小 3.默认集合容量大小 2.ArrayList对象创建 1.无参构造 2.有参构造1 3.有参构造2 3.添加元素add(E e)以及扩容机制 ​编辑 后言 前言 源码的剖析有助于理解设计模式&…

现代密码学|Rabin密码体制及其数学基础 | 椭圆曲线密码体制及其运算 | DH密钥交换及中间人攻击

文章目录 参考Rabin密码体制及其数学基础中国剩余定理二次剩余Rabin密码体制实例 椭圆曲线密码体制及其运算原理运算规则加密解密实例 DH密钥交换及中间人攻击中间人攻击 参考 现代密码学|Rabin密码体制及其数学基础 现代密码学|椭圆曲线密码体制及其运…

硬件选型规则

光源选型: 先用型号中带H的,没有的选标准的. 光源和光源控制器的搭配需要确保接口一致。 根据型号表中的最佳工作距离和相机的尺寸。 光源控制器选型: 首先选择海康风格系列光源控制器考虑与光源的接口匹配。功率应该满足接近光源功率。检查是否退市…

sharedPreference包的使用总结

文章目录 1 概念介绍2 实现方法3 示例代码我们在上一章回中介绍了"如何自定义评分条"相关的内容,本章回中将介绍如何实现本地存储.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 Flutter是一套跨平台的UI框架,它不像原生SDK一样提供本地存储功能,因此,我们在…

TCP连接的时候遇到的异常(目标端口没开放)

import asyncioasync def check_port(ip, port, timeout1):"""检查目标 IP 和端口是否开放:param ip: 目标 IP 地址:param port: 目标端口:param timeout: 超时时间(秒)"""try:reader, writer await asyncio.open_connec…

C总结(C语言知识点,深化重难点)

C语言 1.使用C语言的7个步骤2.ASCII码3.提高程序可读性的机巧4.如何使用多种整形5.打印多种整形6.课移植类型:stdint.h和inttypes.h7.浮点数常量8.浮点值的上溢和下溢9.使用数据类型11.常量和C预处理器12.转换说明的意义12.1转换不匹配13.副作用和序列点14.数组简介…

burpsuite(6)暴力破解与验证码识别绕过

声明!!! 学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章 视频链接:泷羽sec-bilibili 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 项目地址:https://github.com/f0ng/cap…

抗DDOS设备

0x00 定义: 抗DDOS设备顾名思义,就是防御DDoS攻击的设备,通常包含三个部分:检测中心、清洗中心和管理中心 检测中心主要负责对流量进行检测,发现流量异常后上报管理中心,由管理中心下发引流策略至清洗中心&#xff0…

systemV信号量与消息队列

目录 引言 ipc简介 ipc在kernel的管理机制(简介) 信号量 理解信号量 原子 结论 mmap 消息队列 接口 引言 在复杂的软件系统中,进程间的协调和通信是确保系统高效、稳定运行的关键。System V是一套历史悠久且功能强大的进程间通信&a…

【CKS最新模拟真题】Falco 的运行时安全性

系列文章目录 【CKS最新模拟真题】获取多个集群的上下文名称并保存到指定文件中 文章目录 系列文章目录参考地址一、TASK二、解题过程1、问题一解题2、问题二解题 参考地址 CKS考试允许打开falco的地址 https://falco.org/docs/reference/rules/supported-fields/ 一、TASK …

Altium Designer学习笔记 32 DRC检查_丝印调整

基于Altium Designer 23学习版,四层板智能小车PCB 更多AD学习笔记:Altium Designer学习笔记 1-5 工程创建_元件库创建Altium Designer学习笔记 6-10 异性元件库创建_原理图绘制Altium Designer学习笔记 11-15 原理图的封装 编译 检查 _PCB封装库的创建Al…

【原生js案例】webApp实现鼠标移入移出相册放大缩小动画

图片相册这种动画效果也很常见,在我们的网站上。鼠标滑入放大图片,滑出就恢复原来的大小。现在我们使用运动定时器来实现这种滑动效果。 感兴趣的可以关注下我的系列课程【webApp之h5端实战】,里面有大量的css3动画效果制作原生知识分析&…

MetaGPT 安装

1. 创建环境 conda create -n metagpt python3.10 && conda activate metagpt2. 可编辑方式安装 git clone --depth 1 https://github.com/geekan/MetaGPT.git cd MetaGPT pip install -e .3. 配置 metagpt --init-config运行命令,在C盘位置C:\Users\325…

流量地球(Java Python JS C++ C )

题目描述 流浪地球计划在赤道上均匀部署了N个转向发动机,按位置顺序编号为0~N-1。 初始状态下所有的发动机都是未启动状态;发动机启动的方式分为”手动启动"和”关联启动"两种方式;如果在时刻1一个发动机被启动,下一个时刻2与之相邻的两个发动机就会被”关联启动”…

Milvus向量数据库04-Pipelines搭建RAG应用

Milvus向量数据库04-Pipelines搭建RAG应用 Zilliz Cloud Pipelines 可以将文档、文本片段和图像等非结构化数据转换成可搜索的向量并存储在 Collection 中。本文将介绍 Zilliz Cloud Pipelines 的三种主要类型并提供示例代码,展示如何使用 Pipelines 搭建 RAG 应用。…