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

news2024/12/25 23:45:02

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

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

✨博客主页: 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封装的接口测试框架,实现接口对象封装、测试用例编写、测试数据管理及生成测试报告

目录

  • 前言
  • day05 一、(Request库、Cookie、Session、UnitTest框架)
  • 学习目标
  • 能够使用Requests库发送get/post/put/delete请求,获取响应状态码、数据
  • 能够使用UnitTest管理测试用例
  • 一、Requests库
  • 二、设置http请求语法
  • 应用案例
    • 案例1:
    • 案例2:
    • 案例3:
    • 案例4:
  • 三、Cookie
    • 案例5 -看演示,此代码不需实现
  • 四、Session
    • 案例6
  • 五、面试题:Cookie和Session区别
  • 六、获取指定响应数据
    • 常用
  • 七、UnitTest框架
  • TestCase
  • Fixture
  • TestSuit
  • TestRunner![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c73a6e31b923441f9a1de050e179c9be.png)
  • IHRM案例
    • 登录成功
    • 断言方法
    • 账号、密码错误
  • 接口测试-day05-作业
    • 作业一
    • 作业二

参考文章

day05 一、(Request库、Cookie、Session、UnitTest框架)

学习目标

能够使用Requests库发送get/post/put/delete请求,获取响应状态码、数据

能够使用UnitTest管理测试用例

一、Requests库

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

等待安装ing!

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

二、设置http请求语法

在这里插入图片描述

入门案例:使用Requsts库访问 百度www.baidu.com
在这里插入图片描述

应用案例

案例1:

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

案例2:

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

案例3:

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

案例4:

在这里插入图片描述

三、Cookie

在这里插入图片描述

案例5 -看演示,此代码不需实现

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

四、Session

在这里插入图片描述

案例6

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

五、面试题:Cookie和Session区别

在这里插入图片描述

六、获取指定响应数据

常用

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

七、UnitTest框架

UnitTest 是开发人员用来实现“单元测试”的框架。测试工程师,可以在自动化“测试执行”时使用。
使用 UnitTest 的好处:

1.方便管理、维护测试用例。
2.提供丰富的断言方法。
3.生成测试报告。(需要插件 HTMLTestReport)

TestCase

在这里插入图片描述

Fixture

在这里插入图片描述

TestSuit

在这里插入图片描述

TestRunner在这里插入图片描述

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

IHRM案例

登录成功

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

断言方法

在这里插入图片描述

账号、密码错误

接口测试-day05-作业

作业一

重新实现 python 结束阶段 unittest 框架相关练习。巩固unittest框架知识,为后续课程做准备!

参看 python 阶段课后作业,实现如下综合练习

1. 实现登录测试用例,使用断言判断登录结果
2. 将用例写在 case 目录中
3. 定义 json 文件,保存登录测试数据,将json文件写在data目录中
4. 生成测试报告,报告保存在 report 目录中

参考信息1

针对某网站 登录 功能进行测试,现在需要将 测试数据定义为 json 文件, 以便于在自动化测试中使用. 每一组测试数据应该包含如下信息:

测试描述(标题) desc用户名username密码password验证码code预期结果expect
正确的用户名和密码admin1234568888登录成功
不存在的用户名root1234568888登录失败
错误的密码admin1231238888登录失败
错误的验证码admin1234569999登录失败
定义函数 build_data(), 读取 json 文件, 获取 用户名,密码,验证码和预期结果,作为一组数据,组成元组,存入列表 , 即: [('admin', "123456", '8888', '登录成功'), (), (), ()] , 最后将 列表 进行返回. 

参考信息2

# 假设对某网站的登录进行测试
def login(username, password):
    if username == 'admin' and password == '123456':
        return '登录成功'
    else:
        return '登录失败'
    
# 1. 这个是开发书写的功能代码, 测试号过程中,不能修改 login 函数
# 2. 可以认为这是 tpshop 的登录函数

已知,如下测试数据:
1. 正确用户名和密码: 	  	  admin, 123456, 登录成功
2. 错误用户名: 				root, 123456, 登录失败
3. 错误密码: 			 	 admin, 123123, 登录失败
4. 错误用户名和错误密码: 		 aaa, 123123, 登录失败

作业二

1 使用requests库session机制,实现 tpshop前台用户注册,并注册账号成功。

2 使用unittest框架,结合requests库,在框架中完成tpshop登录接口测试,添加 “登录成功” 断言。

3 使用unittest框架,结合requests库,在框架中完成tpshop注册接口测试,添加 “注册成功” 断言。

今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文

在这里插入图片描述

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

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

相关文章

头歌网络安全(11.12)

头歌禁止复制解决 必须先下篡改猴!!!! 头歌复制助手 Educoder Copy Helperhttps://scriptcat.org/zh-CN/script-show-page/1860 Java生成验证码 第1关:使用Servlet生成验证码 任务描述 本关任务:使用se…

项目管理人员的自我评估与职业目标设定

在当今快速发展的商业环境中,项目管理人员的职业规划至关重要。它不仅涉及到个人职业发展的方向、目标和路径选择,还包括如何提升自身的专业技能、管理能力和行业知识。项目管理人员需要明确自己的职业目标、制定合理的职业发展计划、不断学习新知识和技…

关于 MSVCP110.dll 缺失的解决方案

背景:之前使用 PR(Adobe Premiere) 从来没有遇到过这样的问题。今天重装系统后(window 10),想要重新安装以前的软件时,遇到了以下 DLL 文件缺失的错误。 解决方案: 可以到微软官网的…

036集——查询CAD图元属性字段信息:窗体显示(CAD—C#二次开发入门)

提取CAD图元所有属性字段&#xff0c;通过窗体显示&#xff0c;效果如下&#xff1a;&#xff08;curve改为entity&#xff09; 代码如下&#xff1a; public void 属性查询() {List<Curve> ents Z.db.SelectEntities<Curve>();if (ents is null ||ents.Cou…

反转链表

反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例 3&#xff1…

使用 Ansys Mechanical 中的“螺栓工具”插件导出螺栓反作用力

概括&#xff1a; 对于处理复杂组件和结构的工程师和分析师来说&#xff0c;提高在 Ansys Mechanical 中提取多个螺栓反作用力表格的效率至关重要。在有限元分析 (FEA) 中&#xff0c;准确确定螺栓上的反作用力对于评估机械连接的完整性和性能至关重要。但是&#xff0c;手动提…

《FreeRTOS任务基础知识以及任务创建相关函数》

目录 1.FreeRTOS多任务系统与传统单片机单任务系统的区别 2.FreeRTOS中的任务&#xff08;Task&#xff09;介绍 2.1 任务特性 2.2 FreeRTOS中的任务状态 2.3 FreeRTOS中的任务优先级 2.4 在任务函数中退出 2.5 任务控制块和任务堆栈 2.5.1 任务控制块 2.5.2 任务堆栈…

【HAProxy09】企业级反向代理HAProxy高级功能之压缩功能与后端服务器健康性监测

HAProxy 高级功能 介绍 HAProxy 高级配置及实用案例 压缩功能 对响应给客户端的报文进行压缩&#xff0c;以节省网络带宽&#xff0c;但是会占用部分CPU性能 建议在后端服务器开启压缩功能&#xff0c;而非在HAProxy上开启压缩 注意&#xff1a;默认Ubuntu的包安装nginx开…

Gin 框架入门(GO)-1

解决安装包失败问题&#xff08;*&#xff09; go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct 1 介绍 Gin 是一个 Go (Golang) 编写的轻量级 http web 框架&#xff0c;运行速度非常快&#xff0c;Gin 最擅长的就是 Api 接口的高并发。 2 Gin 环境搭建…

前端知识点---this的用法 , this动态绑定(Javascript)

文章目录 this动态绑定 , this的用法01. 全局作用域下的 this02. 函数中的 this2.1 普通函数调用2.2 构造函数调用2.3 箭头函数中的 this 03对象方法调用04. 事件处理中的 this05. 动态绑定的方式5.1 call 方法5.2 apply 方法5.3 bind 方法 06类中的 this07. 总结 this动态绑定…

Unity 跳过启动屏/Logo

使用官方API跳过Unity启动页 1.通过Unity的SplashScreen提供的接口 [Preserve]public class SkipSplash{[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]private static void BeforeSplashScreen(){ #if UNITY_WEBGLApplication.focusChanged…

matplotlib2

第六部分&#xff1a;保存与导出图表 在实际的应用场景中&#xff0c;我们不仅需要在程序中展示图表&#xff0c;有时候还需要将这些图表保存为文件&#xff0c;以便在其他地方使用&#xff0c;比如插入文档、报告或网页中。matplotlib 提供了非常方便的保存图表功能。 6.1 保…

Linux卸载金仓KingBaseES数据库

Linux卸载金仓KingBaseES数据库 1、卸载前删除数据库服务2、图形化卸载3、控制台卸载4、静默卸载 1、卸载前删除数据库服务 如果在安装后执行root.sh脚本在系统中注册了数据库服务&#xff0c;需要在卸载前执行rootuninstall.sh脚本删除已注册的数据库服务。具体步骤如下&#…

【C#设计模式(11)——外观模式(Facade Pattern)】

前言 外观模式隐藏了子系统的复杂性&#xff0c;简化了客户端与子系统之间的交互。 代码 public class Facade{private CommunicationModel communicationModel;private AcquisitionModel acquisitionModel;private ToolModel toolModel;public Facade(){communicationModel n…

Spring Boot编程训练系统:数据管理与存储

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了编程训练系统的开发全过程。通过分析编程训练系统管理的不足&#xff0c;创建了一个计算机管理编程训练系统的方案。文章介绍了编程训练系统的系统分析部分&…

OceanBase 升级过程研究(4.2.1.6-4.2.1.8)

模拟业务 使用benchmark加载10仓数据模拟业务场景 升级方法 使用滚动升级方式来进行OB升级。该方法前提是OB集群必须满足官方规定的高可用架构(如果 Zone 个数小于 3&#xff0c;滚动升级时则无法构成多数派), 滚动升级的原理就是轮流完成每个ZONE的升级工作&#xff0c;由于…

三周精通FastAPI:42 手动运行服务器 - Uvicorn Gunicorn with Uvicorn

官方文档&#xff1a;Server Workers - Gunicorn with Uvicorn - FastAPI 使用 fastapi 运行命令 可以直接使用fastapi run命令来启动FastAPI应用&#xff1a; fastapi run main.py如执行 fastapi run openapi.py启动后显示&#xff1a; INFO Using path openapi.py …

springboot的社区团购系统设计录像

springboot的社区团购系统设计录像 springboot的社区团购系统设计

C++清除所有输出【DEV-C++】所有编辑器通用 | 算法基础NO.1

各位小伙伴们&#xff0c;上一期的保留小数位数教学够用一辈子&#xff0c;有不错的点赞量&#xff0c;可我连一个粉丝铁粉都没有&#xff0c;你愿意做我的第一个铁粉吗&#xff1f;OK废话不多说&#xff0c;开始&#xff01; 温故与知心 可能你也学过&#xff0c;且是工作者…

【Pytorch】Python random 模块

Python random 模块主要用于生成随机数&#xff0c;是常用的一个包&#xff0c;random 模块实现了各种分布的伪随机数生成器。在训练传统机器学习模型或者深度神经网络模型的过程中经常会用到。要使用 random 函数必须先导入&#xff1a; import random1. random() 使用random(…