深入理解接口测试:实用指南与最佳实践5.0(三)

在这里插## 标题入图片描述

> 						大家好,我是程序员小羊!

✨博客主页: https://blog.csdn.net/m0_63815035?type=blog

💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识
📢博客专栏: https://blog.csdn.net/m0_63815035/category_11954877.html
📢欢迎点赞 👍 收藏 ⭐留言 📝
📢本文为学习笔记资料,如有侵权,请联系我删除,疏漏之处还请指正🙉
📢大厦之成,非一木之材也;大海之阔,非一流之归也✨

在这里插入图片描述

前言

这一阶段是接口测试的学习,我们接下来的讲解都是使用Postman这款工具,当然呢Postman是现在一款非常流行的接口调试工具,它使用简单,而且功能也很强大。不仅测试人员会使用,开发人员也会 经常使用。后期讲解大概分三部分进行讲解:
1、根据接口API文档编写接口测试用例
2、使用Postman工具进行接口测试,并能够对大量接口用例进行管理、对接口响应结果进行断言、处理多接口的依赖及生成测试报告
3、使用Python+Requests封装的接口测试框架,实现接口对象封装、测试用例编写、测试数据管理及生成测试报告

目录

  • 前言
  • day03 一、(Postman断言、关联、参数化)
  • 学习目标
  • 能够使用Postman对响应结果自动断言
  • 能够使用Postman处理关联数据
  • 能够使用Postman进行接口参数化处理
    • 一、Postman断言
    • 二、Postman关联
  • 三、Postman参数化
  • 接口测试-day03-作业
  • 接口测试-day03-作业-答案

day03 一、(Postman断言、关联、参数化)

学习目标

能够使用Postman对响应结果自动断言

能够使用Postman处理关联数据

能够使用Postman进行接口参数化处理

一、Postman断言

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、Postman关联

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
案例2:

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、Postman参数化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

接口测试-day03-作业

1,下文中关于断言的描述正确的是?

// 测试响应状态码是400
pm.test("测试响应状态码是300", function(){pm.response.to.have.status(200)
});

A:判断接口返回的响应状态码是不是300

B:判断接口返回的响应状态码是不是200

C:判断接口返回的响应状态码是不是400

D:以上都不正确。这个不是判断http响应状态码的断言。

答案:


2,postman提供了常用的断言代码片段,请根据下文中给出断言代码片段和实际代码填入正确的匹配关系

Status code:Code is 200   (  )
Response body : Contains string  (  )
Response body : JSON value check  (  )
A : 
pm.test("Test", function () {var jsonData = pm.response.json();pm.expect(jsonData.success).to.eql(true);
});B :
pm.test("Test", function () {pm.response.to.have.status(200);
});C :
pm.test("Test", function () {pm.expect(pm.response.text()).to.include("test");
});

3, 假设下列json数据是某接口返回的响应数据,请选出正确选项

{"username":"13800000002","data": {"nickname":"德玛西亚","mobile":"13800000002","birthday":"123456","hopy":{"read":"三体", "sport":"basketball"}}
}

A :要提取 username 的数据,需要使用 pm.response.json().username

B :要提取 birthday 的数据,需要使用 pm.response.json().birthday

C : 要提取 sport 的数据,需要使用 pm.response.json().data.hopy.sport

D : 以上说法全部错误

答案:


4,参照课堂 添加员工 案例,使用postman关联技术,实现 ihrm系统的 查询员工。注意有 2 处依赖。


答案:

5, 针对ihrm登录接口,将 请求数据 和 断言数据 组织成JSON文件,并使用postman批量运行。测试5条数据即可。

接口测试-day03-作业-答案

1,下文中关于断言的描述正确的是?

// 测试响应状态码是400
pm.test("测试响应状态码是300", function(){pm.response.to.have.status(200)
});

A:判断接口返回的响应状态码是不是300

B:判断接口返回的响应状态码是不是200

C:判断接口返回的响应状态码是不是400

D:以上都不正确。这个不是判断http响应状态码的断言。

答案:

B

2,postman提供了常用的断言代码片段,请根据下文中给出断言代码片段和实际代码填入正确的匹配关系

Status code:Code is 200   ( B )
Response body : Contains string  ( C )
Response body : JSON value check  ( A )
A : 
pm.test("Test", function () {var jsonData = pm.response.json();pm.expect(jsonData.success).to.eql(true);
});B :
pm.test("Test", function () {pm.response.to.have.status(200);
});C :
pm.test("Test", function () {pm.expect(pm.response.text()).to.include("test");
});

3, 假设下列json数据是某接口返回的响应数据,请选出正确选项

{"username":"13800000002","data": {"nickname":"德玛西亚","mobile":"13800000002","birthday":"123456","hobby":{"read":"三体", "sport":"basketball"}}
}

A :要提取 username 的数据,需要使用 pm.response.json().username

B :要提取 birthday 的数据,需要使用 pm.response.json().birthday

C : 要提取 sport 的数据,需要使用 pm.response.json().data.hobby.sport

D : 以上说法全部错误

答案:

A、C

4,参照课堂 添加员工 案例,使用postman关联技术,实现 ihrm系统的 查询员工。注意有 2 处依赖。

5, 针对ihrm登录接口,将 请求数据 和 断言数据 组织成JSON文件,并使用postman批量运行。测试5条数据即可。

// login.json 数据文件
[{"mobile":"13800000002","password":"123456","code":10000},{"mobile":"13800138002","password":"123456","code":20001},{"mobile":null,"password":"123456","code":20001},{"mobile":"1380013800","password":"123456","code":20001},{"mobile":"13800abcd*#","password":"123456","code":20001},{"mobile":"13800000002","password":null,"code":20001}
]
// postman -- body
{"mobile":"{{mobile}}","password":"{{password}}"}
// postman -- Tests
console.log("预期结果=" + data.code)pm.test("Your test name", function () {var jsonData = pm.response.json();pm.expect(jsonData.code).to.eql(data.code);console.log("实际结果=" + jsonData.code);
});
今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文

在这里插入图片描述

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

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

相关文章

32位、64位、x86与x64:深入解析计算机架构

目录 一、32位架构(x86) 1.1 定义与历史 1.2 技术特点 1.3 优缺点 二、64位架构(x64) 2.1 定义与历史 2.2 技术特点 2.3 优缺点 三、x86与x64的关系 四、应用场景 4.1 32位架构的应用场景 4.2 64位架构的应用场景 五、总结 在计算机领域中,处理器架构的选择对…

【stable diffusion部署】超强AI绘画Stable Diffusion,本地部署使用教程,完全免费使用

前言 01 软件介绍 Stable Diffusion和Midjourney类似,都是当下AI绘画最流行的AI工具之一,都支持用文字生成AI图片或者图片生成图片的软件。 二者的区别是:Midjourney只能在网上使用,国内需要魔法才能使用,而且存在使…

【计算机网络】【网络层】【习题】

计算机网络-传输层-习题 文章目录 13. 图 4-69 给出了距离-向量协议工作过程,表(a)是路由表 R1 初始的路由表,表(b)是相邻路由器 R2 传送来的路由表。请写出 R1 更新后的路由表(c)。…

【嵌入式开发】单片机CAN配置详解

0 前言 CAN外设作为一种传输速率较高,且连线较为简洁的通信协议,如今很多单片机内部都集成了CAN控制模块,这样只需要再外接一个CAN收发芯片,将TTL/CMOS电平转换成CAN协议的差分电平,就是一个完整的CAN收发节点。   最…

虚拟机安装Ubuntu 24.04服务器版(命令行版)

这个是专门用于服务器使用的,没有GUI,常用软件安装,见 虚拟机安装Ubuntu 24.04及其常用软件(2024.7)_ubuntu24.04-CSDN博客https://blog.csdn.net/weixin_42173947/article/details/140335522这里只记录独特的安装步骤 1 下载Ubuntu 24.04安…

ctfshow-web入门-SSTI(web361-web368)上

目录 1、web361 2、web362 3、web363 4、web364 5、web365 6、web366 7、web367 8、web368 1、web361 测试一下存在 SSTI 注入 方法很多 (1)使用子类可以直接调用的函数来打 payload1: ?name{{.__class__.__base__.__subclasses__…

Axure网络短剧APP端原型图,竖屏微剧视频模版40页

作品概况 页面数量:共 40 页 使用软件:Axure RP 9 及以上,非软件无源码 适用领域:短剧、微短剧、竖屏视频 作品特色 本作品为网络短剧APP的Axure原型设计图,定位属于免费短剧软件,类似红果短剧、河马剧场…

如何从头开始构建神经网络?(附教程)

随着流行的深度学习框架的出现,如 TensorFlow、Keras、PyTorch 以及其他类似库,学习神经网络对于新手来说变得更加便捷。虽然这些框架可以让你在几分钟内解决最复杂的计算任务,但它们并不要求你理解背后所有需求的核心概念和直觉。如果你知道…

JS 实现SSE通讯和了解SSE通讯

SSE 介绍: Server-Sent Events(SSE)是一种用于实现服务器向客户端实时推送数据的Web技术。与传统的轮询和长轮询相比,SSE提供了更高效和实时的数据推送机制。 SSE基于HTTP协议,允许服务器将数据以事件流(…

HTML之表单学习记录

如果一个页面仅仅供用户浏览,那就是静态页面。如果这个页面还能实现与服务器进行数据交互(像注册登录、话费充值、评论交流)​,那就是动态页面。表单是我们接触动态页面的第一步。其中表单最重要的作用就是:在浏览器端…

WPF学习之路,控件的只读、是否可以、是否可见属性控制

C#的控件学习之控件属性操作 控件的只读、是否可以、是否可见,是三个重要的参数,在很多表单、列表中都有用到,正常表单控制可以在父层主键控制参数是否可以编辑和可见,但是遇到个别字段需要单独控制时,可以在初始化wi…

three.js 杂记

clip: 1: 着色器 #ifdef USE_CLIP_DISTANCE vec4 worldPosition modelMatrix * vec4( position, 1.0 ); gl_ClipDistance[ 0 ] worldPosition.x - sin( time ) * ( 0.5 ); #endif gl_Position projectionMatrix * modelViewMatrix * vec4( positio…

基于混合配准策略的多模态医学图像配准方法研究

摘要: 提出了一种由“粗”到“细”的混合配准策略,该配准策略吸取了以往配准方法的优点,且在细配阶段将基于特征的配准方法和基于灰度的配准方法结合在一起,提出了基于轮廓特征点集最大互信息的配准方法,从而在速度和精…

贪心算法入门(二)

相关文章 贪心算法入门(一)-CSDN博客 1.什么是贪心算法? 贪心算法是一种解决问题的策略,它将复杂的问题分解为若干个步骤,并在每一步都选择当前最优的解决方案,最终希望能得到全局最优解。这种策略的核心…

Autosar CP 基于CAN的时间同步规范导读

Autosar CP 基于CAN的时间同步规范主要用途 实现精确时间同步 提供了一种在CAN总线上准确分发时间信息的机制,确保连接到CAN网络的各个电子控制单元(ECU)能够共享精确的公共时间基准,对于需要精确时间协调的汽车系统功能&#xff…

前端常用布局模板39套,纯CSS实现布局

前端常用布局模板39套,纯CSS实现布局 说明 写博客、官网、管理后台都可以参考以下布局模板,实现模板布局的方式包含:flex、CSS、HTML5、Layout。 不需要下载积分,没有特殊库引用,不用安装任何插件,打开资源…

jmeter常用配置元件介绍总结之后置处理器

系列文章目录 安装jmeter jmeter常用配置元件介绍总结之后置处理器 8.后置处理器8.1.CSS/JQuery提取器8.2.JSON JMESPath Extractor8.3.JSON提取器8.4.正则表达式提取器8.5.边界提取器8.5.Debug PostProcessor8.6.XPath2 Extractor8.7.XPath提取器8.8.结果状态处理器 8.后置处理…

边缘计算在智能交通系统中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 边缘计算在智能交通系统中的应用 边缘计算在智能交通系统中的应用 边缘计算在智能交通系统中的应用 引言 边缘计算概述 定义与原…

Vue 项目打包后环境变量丢失问题(清除缓存),区分.env和.env.*文件

Vue 项目打包后环境变量丢失问题(清除缓存),区分.env和.env.*文件 问题背景 今天在导报项目的时候遇到一个问题问题:在开发环境中一切正常,但在打包后的生产环境中,某些环境变量(如 VUE_APP_B…

十三、注解配置SpringMVC

文章目录 1. 创建初始化类,代替web.xml2. 创建SpringConfig配置类,代替spring的配置文件3. 创建WebConfig配置类,代替SpringMVC的配置文件4. 测试功能 1. 创建初始化类,代替web.xml 2. 创建SpringConfig配置类,代替spr…