当前位置: 首页 > news >正文

黑马程序员——接口测试——day03——Postman断言、关联、参数化

目录:

  1. Potman断言
    1. Postman断言简介
    2. Postman常用断言
      1. 断言响应状态码
      2. 断言包含某字符串
      3. 断言JSON数据
    3. Postman断言工作原理
  2. Postman关联
    1. 简介
    2. 实现步骤
    3. 核心代码
    4. 创建环境
    5. 案例1
    6. 案例2
  3. Postman参数化
    1. 简介
    2. 数据文件简介
    3. 编写数据文件
      1. CSV文件
      2. JSON文件
    4. 导入数据文件到postman
    5. 读取数据文件数据

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依赖。

  1. 发送接口B请求,获取响应数据。
  2. 将响应数据,放入公共容器(全局变量、环境变量)中
  3. 接口A从公共容器中,提取数据,发送请求。

核心代码

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

案例1

使用postman关联,实现下面案例

  • 从获取天气接口,http;://www.weather.com.cn/data/sk/101010100.html
  • 获取返回结果中的城市名称
  • 调用百度搜索接口: http://www.baidu.com/S?wd=北京,把获取到的城市名称,如:北京,作为请求参数

思路:

  1. 发送获取天气请求,获取响应结果
  2. 从响应结果中,拿到城市名,存入全局变量
  3. 百度搜索接口从全局变量中,取城市名,发送搜索请求。

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格式)结果 求助!!&#xff…...

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 拥塞控制

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…...

老隋蓝海项目有人盈利的吗?怎么做比较好些呢?

在互联网创业的浪潮中&#xff0c;蓝海项目总是令人心动。老隋&#xff0c;作为一位经验丰富的创业者&#xff0c;近期分享了他所发现的蓝海项目。但不少人可能会有疑问&#xff1a;老隋分享的蓝海项目真的有人盈利了吗?如果真的盈利了&#xff0c;又该怎么做才能确保成功呢?…...

递归与递推(蓝桥杯 c++)

目录 题目一&#xff1a; 代码&#xff1a; 题目二: 代码&#xff1a; 题目三&#xff1a; 代码&#xff1a; 题目四&#xff1a; 代码&#xff1a; 题目一&#xff1a; 代码&#xff1a; #include<iostream> #include<cstring> using namespace std; int …...

ArduinoTFTLCD应用

ArduinoTFTLCD应用 ArduinoTFTLCD应用硬件连接软件导入库显示数字、字符显示汉字方案1方案2 显示图片 总结 ArduinoTFTLCD应用 对于手工喜欢DIY的人来说&#xff0c;Arduino驱动的TFTLCD被很多人使用&#xff0c;此处就总结一下&#xff0c;使用的是VScode的PlatformIO插件驱动…...

《秦时明月》IP新高度:与陕西历史博物馆共同书写文化传承新篇章!

在IP产业风起云涌的今天&#xff0c;如何以创意和匠心为传统文化注入新的活力&#xff0c;成为了摆在每一位文化工作者面前的重要课题。近日&#xff0c;《秦时明月》作为一部深受观众喜爱的国产动画IP&#xff0c;在迎来其十七周年之际&#xff0c;联手陕西历史博物馆&#xf…...

2、事件机制、DOM操作、jquery对尺寸操作、jquery添加和删除

一、事件机制 1、事件源.事件类型(事件处理程序) $(this)中的this不能加引号 $(#box).click(function () {$(this).css(background-color,blue)//点击颜色变为蓝色 })2、事件源.on/bind(事件类型&#xff0c;事件处理程序) $("#box").on(dbclick,function () {$(…...

YOLOv6-Openvino和ONNXRuntime推理【CPU】

1 环境&#xff1a; CPU&#xff1a;i5-12500 Python&#xff1a;3.8.18 2 安装Openvino和ONNXRuntime 2.1 Openvino简介 Openvino是由Intel开发的专门用于优化和部署人工智能推理的半开源的工具包&#xff0c;主要用于对深度推理做优化。 Openvino内部集成了Opencv、Tens…...

C语言:结构体(自定义类型)知识点(包括结构体内存对齐的热门知识点)

和黛玉学编程呀&#xff0c;大家一起努力呀............. 结构体类型的声明 回顾一下 struct tag { member-list; }variable-list; 创建和初始化 我们知道&#xff0c;在C语言中&#xff0c;对于一些数据是必须初始化的&#xff0c;但是结构体怎么创建并且初始化呢&#xff1…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...