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

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

我自己根据我的电脑,安装的地址为:https://dl.pstmn.io/download/version/9.31.32/osx_64

今天开始学习 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.mzph.cn/pingmian/63685.shtml

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

相关文章

OpenCV相机标定与3D重建(10)眼标定函数calibrateHandEye()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算手眼标定: g T c _{}^{g}\textrm{T}_c g​Tc​ cv::calibrateHandEye 是 OpenCV 中用于手眼标定的函数。该函数通过已知的机器人…

day08 接口测试(4)知识点完结!!

【没有所谓的运气🍬,只有绝对的努力✊】 目录 1、postman读取外部数据文件(参数化) 1.1 数据文件简介 1.2 导入外部数据文件 1.2.1 csv文件 1.2.2 导入 json文件 1.3 读取数据文件数据 1.4 案例 1.5 生成测试报告 2、小…

linux 安装 Jenkins 教程

前言 Jenkins 是一个开源的自动化服务器,广泛用于持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)领域。它帮助开发者自动化软件构建、测试、部署等过程,从…

IdentityServer4框架、ASP.NET core Identity

OAuth2.0 IdentityServer4 官网 中文官网 ASP.NET Core Identity提供了一个用来管理和存储用户账户的框架. IdentityServer4是基于ASP.NET Core实现的认证和授权框架,是对OpenID Connect和OAuth 2.0协议的实现。 IdentityServer是一个中间件,它可以添加符合OpenID…

ZZCMS2023存在跨站脚本漏洞(CNVD-2024-44822、CVE-2024-44818)

ZZCMS是一款用于搭建招商网站的CMS系统,由PHP语言开发,可快速搭建:医药招商、保健品招商、化妆品招商、农资招商、孕婴童招商、酒类副食类等招商网站。 国家信息安全漏洞共享平台于2024-11-14公布其存在跨站脚本漏洞。 漏洞编号&#xff1a…

使用Kubernetes部署MySQL+WordPress

目录 前提条件 部署MySQL和WordPress 编写yaml文件 应用yaml文件 存在问题及解决方案 创建PV(持久化卷) 创建一个PVC(持久化卷声明) 部署添加PVC 查看PV对应的主机存储 删除资源 查看资源 删除deployment和service 查看主机数据 删除PVC和PV 删除主机数据 前提条…

每日一刷——12.10——学习二叉树解题模式(二)

题目三:填充每个节点的下一个右侧节点指针1 题目描述:116. 填充每个节点的下一个右侧节点指针 - 力扣(LeetCode) 我的理解: 我的感觉是同父亲还好搞一点,感觉是在遍历到每一个节点的时候,就把…

Spring Cloud Alibaba:一站式微服务解决方案

Spring Cloud Alibaba介绍 在当今的软件开发领域,微服务架构因其灵活性、可扩展性和独立性等优势而备受青睐。Spring Cloud Alibaba 作为一款强大的一站式微服务解决方案,为开发者提供了丰富的工具和组件,帮助他们轻松构建和管理复杂的微服务…

服务器数据恢复—LINUX下各文件系统删除/格式化的数据恢复可行性分析

Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs&#xff0…

vs打开unity项目 新建文件后无法自动补全

问题 第一次双击c#文件自动打开vs编辑器的时候能自动补全,再一次在unity中新建c#文件后双击打开发现vs不能自动补全了。每次都要重新打开vs编辑器才能自动补全,导致效率很低,后面发现是没有安装扩展,注意扩展和工具的区别。 解决…

网络安全-态势感知

0x00 定义: 态势感知(Situation Awareness,SA)能够检测出超过20大类的云上安全风险,包括DDoS攻击、暴力破解、Web攻击、后门木马、僵尸主机、异常行为、漏洞攻击、命令与控制等。利用大数据分析技术,态势感…

命令模式的理解和实践

在软件开发中,设计模式是开发者们经过长期实践总结出来的、可复用的解决方案,用于解决常见的设计问题。命令模式(Command Pattern)是行为型设计模式之一,它通过将一个请求封装成一个对象,从而允许用户用不同…

SpringBoot3整合SpringMVC

一、实现过程: (1).创建程序 (2).引入依赖: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…

【优选算法篇】剥洋葱式探索:用二分查找精准定位答案(下篇)

文章目录 须知 &#x1f4ac; 欢迎讨论&#xff1a;如果你在学习过程中有任何问题或想法&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习。你的支持是我继续创作的动力&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;觉得这篇文章对你有帮助吗&#xff1…

若依集成更好用的easyexcel

背景 若依使用的是apach poi并在此基础上进行封装apach poi的原生的api是很复杂的&#xff0c;若依简化了了此操作apach poi的上传速率和下载速率都是没有优化的&#xff0c;依赖于文件大小的限制在此前提下&#xff0c;如果没法满足客户的需求&#xff08;超大型文件的上传&am…

在Ubuntu上使用docker compose安装N卡GPU的Ollama服务

在现代计算环境中,利用 GPU 进行计算加速变得越来越重要。下面将讲解如何在Ubuntu上使用docker compose安装N卡GPU的Ollama服务。 1、安装 NVIDIA 容器工具 首先,需要确保你的系统已经安装了 NVIDIA 容器工具 nvidia-container-toolkit。这是让 Docker 容器访问 GPU 的关键…

MySQL语句学习第三篇_数据库

MySQL语句学习第三篇_数据库 专栏记录MySQL的学习&#xff0c;感谢大家观看。 本章的专栏&#x1f4da;➡️MySQL语法学习 本博客前一章节指向➡️MySQL语句学习第二篇 本人的博客➡️:如烟花般绚烂却又稍纵即逝的主页 文章目录 MySQL的基础操作&#xff08;改与查&#xff0…

windows将文件推给Android真机/实机

记录一下 因为以前只试过从真机实机中将文件推给windows 但是从windows只简单复制粘贴的话会一直报错。 1.电脑安装adb 2.手机开启开发者模式 usb调试 3.usb连接选择文件传输 4.推送命令adb push 文件路径 /sdcard/download 步骤1和2和3不作赘述&#xff0c;可以搜相关配置教程…

C语言——验证“哥德巴赫猜想”

问题描述&#xff1a; 验证"哥德巴赫猜想" 任何一个大于2的偶数都可以表示为两个质数之和。例如&#xff0c;4可以表示为22&#xff0c;6可以表示为33&#xff0c;8可以表示为35等 //验证"哥德巴赫猜想" //任何一个大于2的偶数都可以表示为两个质数之和…

利用 360 安全卫士极速版关闭电脑开机自启动软件教程

在使用电脑的过程中&#xff0c;过多的开机自启动软件会严重拖慢电脑的开机速度&#xff0c;影响我们的使用体验。本教程中简鹿办公将详细介绍如何使用 360 安全卫士极速版关闭电脑开机自启动软件&#xff0c;让您的电脑开机更加迅速流畅。 一、打开 360 安全卫士极速版 在电…