黑马程序员——接口测试——day03——Postman断言、关联、参数化
目录:
- Potman断言
- Postman断言简介
- Postman常用断言
- 断言响应状态码
- 断言包含某字符串
- 断言JSON数据
- Postman断言工作原理
- Postman关联
- 简介
- 实现步骤
- 核心代码
- 创建环境
- 案例1
- 案例2
- Postman参数化
- 简介
- 数据文件简介
- 编写数据文件
- CSV文件
- JSON文件
- 导入数据文件到postman
- 读取数据文件数据
1.Potman断言
Postman断言简介
- 让Postman工具代替人工自动判断预期结果和实际结果是否一致
- 断言代码书写在Tests标签页中。查看断言结果Test Results标签页
Postman常用断言
断言响应状态码
Status code: Code is 200



断言包含某字符串
Response body: Contains string


断言JSON数据
Response body: JSON value Check



Postman断言工作原理

2.Postman关联
简介
- 当接口和接口之间,有依赖关系时,需要借助postman关联技术,来实现。
- 如:登录接口返回的令牌数据,被添加员工接口依赖。
- 添加员工接口返回员工id,被查询员工接口依赖。
实现步骤
假定:接口B产生的数据,被接口A依赖。
- 发送接口B请求,获取响应数据。
- 将响应数据,放入公共容器(全局变量、环境变量)中
- 接口A从公共容器中,提取数据,发送请求。

核心代码

创建环境
- 全局变量:在整个postman中都可以使用的变量。不需要单独创建环境。
- 环境变量:在特定的环境下,才能使用的变量。需要给此变量创建单独的环境。



案例1
使用postman关联,实现下面案例
- 从获取天气接口,http;://www.weather.com.cn/data/sk/101010100.html
- 获取返回结果中的城市名称
- 调用百度搜索接口: http://www.baidu.com/S?wd=北京,把获取到的城市名称,如:北京,作为请求参数
思路:
- 发送获取天气请求,获取响应结果
- 从响应结果中,拿到城市名,存入全局变量
- 百度搜索接口从全局变量中,取城市名,发送搜索请求。
Tests代码:



案例2
- 使用postman关联技术,实现添加员工接口。
- 登录成功,返回的“令牌"被添加员工接口依赖。
- 思路:
- 1.发送登录请求(必须登录成功),获取响应结果
- 2.从json响应结果中,提取data值。拼接上“Bearer ”前缀。
- 注意:Bearer单词不能拼错,首字母必须大写,只有一个空格
- 3.将拼接无误的令牌,存入环境变量。从“眼睛”图标查看。
- 4.添加员工接口,从环境变量中,提取令牌。设置到请求头中,作为Authorization的值。
- 5.填写添加员工接口其他信息(post、URL、请求体),发送请求。




3.Postman参数化
简介
- 什么是参数化:
- 将测试数据,组织到数据文件中,通过脚本的反复迭代,使用不同的数据,达到测试不同用例的目标。
- 应用场景:
- 一般在测试同一个接口的不同测试点时,只有测试数据不同。考虑使用参数化。
数据文件简介
- CSV:
- 优点:数据组织格式简单
- 缺点:
- 1.不能测试bool类型。因为postman读取csv后,将所有非数值类型数据,自动添加""变为字符串
- 2.不能存储复杂数据类型(元组、列表、字典)。
- 3.不能实现参数测试。
- 应用场景:数据量较大,数据组织格式简单。

- JSON:
- 优点:
- 1.可以测试bool类型
- ⒉能使用复杂数据类型
- 3.可以实现参数测试。
- 缺点:相同数据量,json文件要远大于csv文件。
- 应用场景:数据量较少,数据组织格式复杂。需要进行参数测试!
- 优点:

编写数据文件
CSV文件

JSON文件

导入数据文件到postman



读取数据文件数据
理论
根据使用位置不同,有两种方法。
- 第一种:请求参数(请求行、请求头、请求体)中,使用数据文件中的数据
- csv文件:{{字段名}};json文件:{{键名}
- 第二种:代码(Tests)中,使用数据文件中的数据
- 使用postman内置的关键字data,索引字段名或键名
- csv文件:data.字段名;json文件: data.键名
案例
需求:批量查询手机号所属运营商,校验运营商数据正确性
接口: http:/lcx.shouji.360.cn/phonearea.php?number=13012345678
测试数据:
手机号:13012345678 运营商:联通 手机号:13800001111 运营商:移动 手机号:18966778899 运营商:电信



相关文章:
黑马程序员——接口测试——day03——Postman断言、关联、参数化
目录: Potman断言 Postman断言简介Postman常用断言 断言响应状态码断言包含某字符串断言JSON数据Postman断言工作原理Postman关联 简介实现步骤核心代码创建环境案例1案例2Postman参数化 简介数据文件简介编写数据文件 CSV文件JSON文件导入数据文件到postman读取数…...
Unreal触屏和鼠标控制旋转冲突问题
Unreal触屏和鼠标控制旋转冲突问题 鼠标控制摄像机旋转添加Input轴计算旋转角度通过轴事件控制旋转 问题和原因问题原因 解决办法增加触摸控制旋转代码触屏操作下屏蔽鼠标轴响应事件 鼠标控制摄像机旋转 通过Mouse X和Mouse Y控制摄像机旋转。 添加Input轴 计算旋转角度 通过…...
Vins-Moon配准运行
Vins-Moon运行 求助!!!源码地址电脑配置环境配置编译Kitti数据集制作IMU时间戳问题 适配Kitti数据集运行结果Euroc数据集kitti数据集 evo评估(KITTI数据)输出轨迹(tum格式)结果 求助!!ÿ…...
MSCKF3讲:后端理论推导(上)
MSCKF3讲:后端理论推导(上) 文章目录 MSCKF3讲:后端理论推导(上)1 MSCKF中的状态变量① IMU状态:② cam0状态:③ IMU和cam0间状态关系 2 微分方程递推(数值解)3 IMU状态预…...
群控代理IP搭建教程:打造一流的网络爬虫
目录 前言 一、什么是群控代理IP? 二、搭建群控代理IP的步骤 1. 获取代理IP资源 2. 配置代理IP池 3. 选择代理IP策略 4. 编写代理IP设置代码 5. 异常处理 三、总结 前言 群控代理IP是一种常用于网络爬虫的技术,通过使用多个代理IP实现并发请求…...
【IO流系列】字符流练习(拷贝、文件加密、修改文件数据)
字符流练习 练习1:文件夹拷贝1.1 需求1.2 代码实现1.3 输出结果 练习2:文件加密与解密2.1 需求2.2 代码实现2.3 输出结果 练习3:修改文件数据(常规方法)3.1 需求3.2 代码实现3.3 输出结果 练习4:修改文件数…...
华为云磁盘挂载
华为云磁盘挂载 磁盘挂载情况 fdisk -l 2. 查看当前分区情况 df -h 3.给新硬盘添加新分区 fdisk /dev/vdb 4.分区完成,查询所有设备的文件系统类型 blkid 发现新分区并没有文件系统类型(type为文件系统具体类型,有ext3,ext4,xfs,iso9660等…...
通过大语言模型理解运维故障:评估和总结
张圣林 南开大学软件学院副教授、博士生导师 第六届CCF国际AIOps挑战赛程序委员会主席 在ATC、WWW、VLDB、KDD、SIGMETRICS等国际会议和JSAC、TC、TSC等国际期刊发表高水平论文50余篇。主持国家自然科学基金项目2项,横向项目13项(与华为、字节跳动、腾讯…...
SVN教程-SVN的基本使用
SVN(Apache Subversion)是一款强大的集中式版本控制系统,它在软件开发项目中扮演着至关重要的角色,用于有效地跟踪、记录和管理代码的演变过程。与分布式系统相比,SVN 的集中式架构使得团队能够更加协同地进行开发&…...
【MySQL】数据查询——DQL基本数据库查询
目录 查询语法1. 查询表中所有的数据行和列,采用“*”符号2. 查询表中指定列的数据。3. 在查询中使用别名,使用“AS”关键字。4. 在查询中使用常量列:如果需要将一些常量的默认信息添加到输出结果中,以方便统计或计算。可以使用常…...
机器人持续学习基准LIBERO系列9——数据集轨迹查看
0.前置 机器人持续学习基准LIBERO系列1——基本介绍与安装测试机器人持续学习基准LIBERO系列2——路径与基准基本信息机器人持续学习基准LIBERO系列3——相机画面可视化及单步移动更新机器人持续学习基准LIBERO系列4——robosuite最基本demo机器人持续学习基准LIBERO系列5——…...
uniapp中canvas的基础使用
canvas简介 canvas是uniapp中提供的一个组件,用于生成自定义的图形界面。通过canvas,我们可以通过JavaScript代码在页面上绘制各种图形和图像。 使用canvas 在页面中添加canvas 首先需要在页面的template中添加一个canvas组件: <template><view><canvas ca…...
中科大计网学习记录笔记(十七):拥塞控制原理 | TCP 拥塞控制
前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信…...
老隋蓝海项目有人盈利的吗?怎么做比较好些呢?
在互联网创业的浪潮中,蓝海项目总是令人心动。老隋,作为一位经验丰富的创业者,近期分享了他所发现的蓝海项目。但不少人可能会有疑问:老隋分享的蓝海项目真的有人盈利了吗?如果真的盈利了,又该怎么做才能确保成功呢?…...
递归与递推(蓝桥杯 c++)
目录 题目一: 代码: 题目二: 代码: 题目三: 代码: 题目四: 代码: 题目一: 代码: #include<iostream> #include<cstring> using namespace std; int …...
ArduinoTFTLCD应用
ArduinoTFTLCD应用 ArduinoTFTLCD应用硬件连接软件导入库显示数字、字符显示汉字方案1方案2 显示图片 总结 ArduinoTFTLCD应用 对于手工喜欢DIY的人来说,Arduino驱动的TFTLCD被很多人使用,此处就总结一下,使用的是VScode的PlatformIO插件驱动…...
《秦时明月》IP新高度:与陕西历史博物馆共同书写文化传承新篇章!
在IP产业风起云涌的今天,如何以创意和匠心为传统文化注入新的活力,成为了摆在每一位文化工作者面前的重要课题。近日,《秦时明月》作为一部深受观众喜爱的国产动画IP,在迎来其十七周年之际,联手陕西历史博物馆…...
2、事件机制、DOM操作、jquery对尺寸操作、jquery添加和删除
一、事件机制 1、事件源.事件类型(事件处理程序) $(this)中的this不能加引号 $(#box).click(function () {$(this).css(background-color,blue)//点击颜色变为蓝色 })2、事件源.on/bind(事件类型,事件处理程序) $("#box").on(dbclick,function () {$(…...
YOLOv6-Openvino和ONNXRuntime推理【CPU】
1 环境: CPU:i5-12500 Python:3.8.18 2 安装Openvino和ONNXRuntime 2.1 Openvino简介 Openvino是由Intel开发的专门用于优化和部署人工智能推理的半开源的工具包,主要用于对深度推理做优化。 Openvino内部集成了Opencv、Tens…...
C语言:结构体(自定义类型)知识点(包括结构体内存对齐的热门知识点)
和黛玉学编程呀,大家一起努力呀............. 结构体类型的声明 回顾一下 struct tag { member-list; }variable-list; 创建和初始化 我们知道,在C语言中,对于一些数据是必须初始化的,但是结构体怎么创建并且初始化呢࿱…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
