黑马程序员——接口测试——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语言中,对于一些数据是必须初始化的,但是结构体怎么创建并且初始化呢࿱…...
从237ms到39ms:DeepSeek-Coder推理首token时延压缩术(含完整torch.compile+Triton内核patch)
更多请点击: https://intelliparadigm.com 第一章:DeepSeek-Coder推理首token时延压缩的工程意义与瓶颈全景 首token时延(Time to First Token, TTFT)是衡量代码大模型在线服务响应能力的关键SLA指标。在IDE插件、实时结对编程、…...
如何高效使用Monitorian:3个智能自动化技巧解放你的双手
如何高效使用Monitorian:3个智能自动化技巧解放你的双手 【免费下载链接】Monitorian A Windows desktop tool to adjust the brightness of multiple monitors with ease 项目地址: https://gitcode.com/gh_mirrors/mo/Monitorian 你是否还在为多显示器亮度…...
为Hermes Agent配置自定义供应商并接入Taotoken聚合服务
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为Hermes Agent配置自定义供应商并接入Taotoken聚合服务 Hermes Agent 是一个流行的智能体开发框架,它支持通过配置不同…...
Web 世界的基石:深入解析 HTTP/1.1 的六大核心特点
🏛️ Web 世界的基石:深入解析 HTTP/1.1 的六大核心特点 🤔 为什么 HTTP/1.1 如此重要? HTTP/1.1 发布于 1997 年(RFC 2068),并在 1999 年更新(RFC 2616)。它统治了互联…...
LIWC文本分析Python库:3大核心技术解析与5个实战应用场景
LIWC文本分析Python库:3大核心技术解析与5个实战应用场景 【免费下载链接】liwc-python Linguistic Inquiry and Word Count (LIWC) analyzer 项目地址: https://gitcode.com/gh_mirrors/li/liwc-python 语言心理分析是现代文本挖掘的重要方向,LI…...
告别卡顿与黑边:D2DX让你的《暗黑破坏神2》在现代PC上完美重生
告别卡顿与黑边:D2DX让你的《暗黑破坏神2》在现代PC上完美重生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你…...
VMware装Linux避坑大全:从CentOS 7网络连接到Ubuntu 22.04 VMware Tools安装一条龙
VMware虚拟机Linux系统实战避坑指南:网络配置与工具安装全解析刚装好Linux虚拟机的兴奋感,往往会被"ping不通百度"或"无法拖拽文件"的现实浇灭。这不是你的问题——超过60%的VMware新手都会在网络连接和工具安装环节卡壳。本文将用工…...
Midscene.js 实战(二):通过 YAML 脚本实现 AI 驱动的自动化断言
前言:为什么你需要关注 YAML 脚本与 AI 断言? 2025年12月,字节跳动 Web Infra 团队正式发布了 Midscene v1.0。根据官方发布公告,Midscene 自 2024 年开源以来,已经在 GitHub 斩获 11k star、Trending 榜第二名等成绩,并在互联网、金融、政企、汽车等大量应用场景下完成…...
Bun Image:无需 npm 依赖的图像处理管道,支持多格式解码与转换!
1. Bun Image 是什么? Bun Image 是一个可链式调用的图像处理管道,用于对 JPEG、PNG、WebP、HEIC 和 AVIF 图像进行解码、调整大小、旋转和重新编码。它基于 libjpeg - turbo、spng、libwebp 和 SIMD 几何内核构建,无需 npm 依赖,…...
实战揭秘:3步解锁你的微信聊天记忆宝库
实战揭秘:3步解锁你的微信聊天记忆宝库 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 你是否曾因为手机丢失或更换设备,眼睁睁看着珍贵的微信聊天记录消失无踪?那些承…...
