黑马程序员——接口测试——day03

目录:

  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 运营商:电信

 

 

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

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

相关文章

啊丢的刷题记录手册(洛谷题单排序篇)

1.洛谷题P1923 求第k小的数 题目描述 输入 n&#xff08;1≤n<5000000 且 n 为奇数&#xff09;个数字ai​&#xff08;1≤ai​<109&#xff09;&#xff0c;输出这些数字的第 k 小的数。最小的数是第 0 小。 请尽量不要使用 nth_element 来写本题&#xff0c;因为本题…

换档控制支架的尺寸优化

前言 本示例使用优化模块&#xff0c;通过在保持原始重量的同时改变壳体厚度&#xff0c;使冲压钣金支架中的应变能之和最小化&#xff08;使刚度最大化&#xff09;。 本页讨论 前言应用描述Abaqus建模方法和仿真技术文件参考 应用描述 本示例说明了汽车变速箱连杆中使用的…

亿道丨三防平板pad丨三防平板是指哪三防丨三防工业级平板电脑

三防工业级平板电脑成为许多行业中的重要工具。本文将介绍三防工业级平板电脑的特点以及其在各个领域中的广泛应用。 三防工业级平板电脑的特点 三防工业级平板电脑是指具备防水、防尘和防震功能的平板电脑。这些特点使得它们能够在恶劣环境中工作&#xff0c;如沙尘飞扬的工地…

sockaddr结构体、sockaddr_in结构体和gethostbyname函数

sockaddr结构体 sockaddr结构体是在网络编程中经常使用的一个数据结构&#xff0c;用来表示套接字地址。它是一个通用的地址结构&#xff0c;可以用于不同的协议&#xff08;如IPv4、IPv6、UNIX等&#xff09;。 在C语言中&#xff0c;sockaddr结构体定义如下&#xff1a; s…

交换两个整数

交换两个整数 题目描述&#xff1a;解法思路&#xff1a;解法代码&#xff1a;运行结果&#xff1a; 题目描述&#xff1a; 写⼀个函数Swap&#xff0c;可以交换两个整数的内容。注意必须实现成函数完成。 输入2个整数&#xff0c;调用自定义函数Swap&#xff0c;完成2个整数的…

【HarmonyOS】鸿蒙开发之Stage模型-基本概念——第4.1章

Stage模型-基本概念 名词解释 AbilityStage:应用组件的“舞台“ UIAbility:包含UI界面的应用组件&#xff0c;是系统调度的基本单元 WindowStage:组件内窗口的“舞台“ Window&#xff1a;用来绘制UI页面的窗口 HAP:Harmony Ability Package(鸿蒙能力类型的包) HSP:Harmony Sh…

C++17之折叠表达式

相关文章系列 深入理解可变参数(va_list、std::initializer_list和可变参数模版) 目录 1.介绍 2.应用 2.1.使用折叠表达式 2.2.支持的运算符 2.3.使用折叠处理类型 3.总结 1.介绍 折叠表达式是C17新引进的语法特性。使用折叠表达式可以简化对C11中引入的参数包的处理&…

合泰杯开发板HT66F2390入门教程(点亮LED灯)——获得成就:点灯大师

前言 前不久报名了合泰杯竞赛项目&#xff0c;然后手上也是有一个HT66F2390的开发板&#xff0c;我就打算先从点灯开始&#xff0c;学习一个新的芯片第一步都是先成为点灯大师。 一开始&#xff0c;我在网上搜寻了许多的代码示例&#xff0c;希望能够顺利实现LED的控制。然而&…

LeetCode第七题: 整数反转

题目描述 给你一个 32 位的有符号整数 x​ &#xff0c;返回将 x​ 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1]​ &#xff0c;就返回 0。 假设环境不允许存储 64 位整数&#xff08;有符号或无符号&#xff09;。 示例 …

铭瑄科技——为星闪技术发展与应用带来新推力

随着智能化生活逐渐普及&#xff0c;无线通信不仅是不仅是信息时代的重要基础设施&#xff0c;而且是推动社会向智能化发展的核心力量之一&#xff0c;其中短距无线通信更是推动未来智能化发展的关键。 为积极推动未来硬件智能化、产业智能化发展&#xff0c;铭瑄正式宣布成为星…

黑马头条-day10

文章目录 app端文章搜索1、文章搜索1.1 ElasticSearch环境搭建1.2 索引库创建①需求分析②ES导入数据场景分析③创建索引和映射 1.3 索引数据同步①app文章历史数据导入ES②文章实时数据导入ES 1.4 文章搜索多条件复合查询①关键词搜索②搜索接口定义 2、搜索历史记录2.1 需求说…

积分商城管理系统的设计与实现

积分商城管理系统的设计与实现 获取源码——》公主号&#xff1a;计算机专业毕设大全

javascript给对象添加迭代器

迭代器是啥就自行百度了 为啥for…of可以遍历数组&#xff0c;为啥不能遍历对象&#xff0c;就是for…of会调用迭代器&#xff0c;而数组是内置了迭代器了&#xff0c;而对象没有内置&#xff0c;所以直接使用for…of遍历对象会报错&#xff0c;因此只用在对象的原型上面自定义…

YOLO算法改进Backbone系列之:EfficientViT

EfficientViT: Memory Effificient Vision Transformer with Cascaded Group Attention 摘要&#xff1a;视觉transformer由于其高模型能力而取得了巨大的成功。然而&#xff0c;它们卓越的性能伴随着沉重的计算成本&#xff0c;这使得它们不适合实时应用。在这篇论文中&#x…

一般情况下,硬件中使用Repeating Sequence出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的

一般情况下&#xff0c;出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的 把timer values 修改为0 1就好了&#xff0c;如果是0&#xff0c;0.1就不行&#xff0c;不会有下面的波形

YOLOv9中的“RepNCSPELAN4”结构!

RepNCSPELAN4结构出炉啦&#xff0c;收藏起来写论文用&#xff01; 1.代码&#xff1a; 代码路径&#xff1a;yolov9-main->models->common.py&#xff0c;代码如下&#xff1a; class RepNCSPELAN4(nn.Module):# csp-elandef __init__(self, c1, c2, c3, c4, c51): # …

使用EFCore连接SQLite

简介 在使用EFCore连接SQLite之前我们先来了解一下SQLite SQLite是一个轻量级、自包含、无服务器、零配置的事务性SQL数据库引擎&#xff0c;它支持SQL92标准的大多数查询语言并兼容ACID事务。具体如下&#xff1a; 轻量级&#xff1a;SQLite非常轻巧&#xff0c;它的库体积…

UE5 C++ Gas开发 学习记录(三)

添加AuraPlayerState,AuraAbilitySystemComponentBase和AuraAttributeSet 在Build.cs里添加 // Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class MyGas : ModuleRules { public MyGas(ReadOnlyTargetRules Target) : base(Target) { P…

leetcode hot100打家劫舍三

本题是打家劫舍的变形&#xff0c;数据结构是树形。涉及到树的题目一定要想清楚树的遍历顺序&#xff08;前中后序&#xff09;。之后再考虑利用动态规划来解决。 动态规划是一直记录状态&#xff0c;我们可以根据动态规划的数组来记录变化的状态&#xff0c;最终求的自己想要…

Python字符串访问与拼接你搞懂了吗?

使用下标访问字符串&#xff0c;从0开始计数&#xff0c;-1表示最后一个字符。三种遍历字符串的方法&#xff1a;for循环、len()和enumerate()。字符串拼接只能是字符串之间使用&#xff0c;不能与数字拼接。 1.下标访问字符串 通过下标访问字符串的内容&#xff0c;下标从 0 …