Postman接口测试05|实战项目笔记

目录

一、项目接口概况

二、单接口测试-登录接口:POST

1、正例

2、反例 

①姓名未注册

②密码错误

 ③姓名为空

④多参

⑤少参

⑥无参

三、批量运行测试用例

四、生成测试报告 

1、Postman界面生成 

2、Newman命令行生成 

五、token鉴权(“令牌”)

1、访问phpwind论坛首页

2、登录接口(需要token)

六、 业务场景测试-客户管理

1、添加客户:POST

2、查询客户列表:GET 

​3、修改客户:PUT

​4、删除客户信息:DELETE

七、批量运行测试用例和生成测试报告


使用和参考的资料:

1、接口测试-第04天-课堂笔记.pdf

2、测试系统1-白月黑羽SMS 以及 测试系统2 - phpwind

3、BYSMS系统 API 接口文档 1.2

一、项目接口概况

二、单接口测试-登录接口:POST

测试用例参考:Postman接口测试02|接口用例设计-CSDN博客中的 3、单接口测试用例

按照登录接口的测试用例,在创建的“登录”接口依次执行该接口的测试用例。 

1、正例

写断言

2、反例 

  • 由于是同一个接口,因此:请求方法、URL、请求头完全一致。
  • 测试点(测试用例名称)、和 请求数据(请求体),各不相同
  • 响应结果(用作断言),共2种情况:{"ret": 0}和{"ret": 1, "msg": "用户名或者密码错误"}

其他姓名含有不符合要求的字符,密码为空,密码含有不符合要求的字符、密码1位、密码200位等跟其他用例很类似,下面只对典型用例重点记录: 

①姓名未注册
姓名的值随便写一个不正确的
根据相应的响应信息,修改断言
②密码错误
在上一个用例的基础上,只把密码改成错误的即可
 ③姓名为空
在上一个用例的基础上,只把姓名为空即可
④多参

多参的响应结果应该和正例的响应结果一样,因为后台处理已经能拿到需要的参数值,多出来的参数和值没有代码会处理它,有没有都不会起什么作用。

在正例“登录成果”的基础上,请求体里加个参数即可
⑤少参
在“密码错误”用例的基础上,不选password参数即可
⑥无参
在“少参”用例基础上,不选任何一个参数即可

三、批量运行测试用例

四、生成测试报告 

1、Postman界面生成 

然后选一个文件夹保存报告即可,生成的报告是json文件

2、Newman命令行生成 

具体步骤看下面连接的:十六、Newman生成测试报告 

Postman接口测试04|批量运行测试用例、参数化、Mock Server、Cookie鉴权、Newman生成测试报告-CSDN博客

五、token鉴权(“令牌”)

由于白月黑羽系统没有鉴权功能,所以换成新系统phpwind来练习

1、访问phpwind论坛首页

只需要填一下url即可

获取响应中的鉴权码,并将其设置成全局变量

 2、登录接口(需要token)

url:http://47.107.116.139/phpwind/index.php?m=u&c=login&a=dorun

请求头(必填参数):

  • Accept:application/json, text/javascript, */*; q=0.01
  • X-Requested-With:XMLHttpRequest
设置请求头的两个必选参数
1、获取"登录接口"拿到的全局变量csrf_token的值;2、响应体中state的值为success,表示响应成功。
断言也通过了

六、 业务场景测试-客户管理

1、添加客户:POST

这里把获取响应体中的json数据,并把id的值设置成全局变量kehu_id,注意这里的id在数据库中是个自增长字段

2、查询客户列表:GET 

1、参数具体信息看接口文档;2、查询出了包含“测试”关键字的客户信息,其中就包含刚才创建的id40

3、修改客户:PUT

注意这里箭头指的是个全局变量,查找在“添加客户”接口处新增的对应id客户

4、删除客户信息:DELETE

注意这里请求里仍然是用到了全局变量,用来获取在“添加用户”接口处新增的对应客户id

【总结】经过增、查、改、删按序执行接口测试,完成了业务闭环,也没有在数据中留下垃圾数据。

七、批量运行测试用例和生成测试报告

  • 批量运行测试用例参考本文的第三部分
  • 生成测试报告部分看:下面链接的十六、Newman生成测试报告

(该链接里生成报告部分的bash命令截图和最终生成的html报告截图即本文业务场景测试部分的真实实战截图。)Postman接口测试04|批量运行测试用例、参数化、Mock Server、Cookie鉴权、Newman生成测试报告-CSDN博客

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

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

相关文章

网络分析工具-tcpdump

文章目录 前言一、tcpdump基础官网链接命令选项详解常规过滤规则tcpdump输出 一、tcpdump实践HTTP协议ICMP状态抓包 前言 当遇到网络疑难问题的时候,抓包是最基本的技能,通过抓包才能看到网络底层的问题 一、tcpdump基础 tcpdump是一个常用的网络分析工…

可编辑31页PPT | 大数据湖仓一体解决方案

荐言分享:在当今数字化时代,大数据已成为企业决策和业务优化的关键驱动力。然而,传统的数据处理架构,如数据仓库和数据湖,各自存在局限性,难以满足企业对数据高效存储、灵活处理及实时分析的综合需求。因此…

STM32中断详解

STM32中断详解 NVIC 中断系统中断向量表相关寄存器中断优先级中断配置 外部中断实验EXTI框图外部中断/事件线映射中断步骤初始化代码实现 定时器中断通用定时器相关功能标号1:时钟源标号 2:控制器标号 3:时基单元 代码实现 NVIC 中断系统 STM…

【LeetCode】200、岛屿数量

【LeetCode】200、岛屿数量 文章目录 一、并查集1.1 并查集1.2 多语言解法 二、洪水填充 DFS2.1 洪水填充 DFS 一、并查集 1.1 并查集 // go var sets int var father [90000]intfunc numIslands(grid [][]byte) int {n, m : len(grid), len(grid[0])build(grid, n, m)for i …

SOME/IP 协议详解——序列化

文章目录 0. 概述1.基本数据序列化2.字符串序列化2.1 字符串通用规则2.2 固定长度字符串规则2.3 动态长度字符串规则 3.结构体序列化4. 带有标识符和可选成员的结构化数据类型5. 数组5.1 固定长度数组5.2 动态长度数组5.3 Enumeration(枚举)5.4 Bitfield…

【AndroidAPP】权限被拒绝:[android.permission.READ_EXTERNAL_STORAGE],USB设备访问权限系统报错

一、问题原因 1.安卓安全性变更 Android 12 的安全性变更,Google 引入了更严格的 PendingIntent 安全管理,强制要求开发者明确指定 PendingIntent 的可变性(Mutable)或不可变性(Immutable)。 但是&#xf…

C之(14)gcov覆盖率

C之(14)gcov覆盖率 Author: Once Day Date: 2024年12月30日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: C语言_Once-Day的博客-CSDN博客 前些天…

简易屏幕共享工具-基于WebSocket

前面写了两个简单的屏幕共享工具,不过那只是为了验证通过截屏的方式是否可行,因为通常手动截屏的频率很低,而对于视频来说它的帧率要求就很高了,至少要一秒30帧率左右。所以,经过实际的截屏工具验证,我了解…

Paperlib(论文管理工具)

Paperlib 是一个简单好用的论文管理工具。软件接入各学科数据库用于匹配论文元数据,逐步为每一个学科(例如计算机科学,物理学等)定制化数据库组合提高检索精度。尤其是精准的会议论文元数据检索能力。还可以管理你的论文&#xff…

c# 2024/12/27 周五

6《详解类型、变量与对象》36 详解类型、变量与对象 _1_哔哩哔哩_bilibili

Formality:匹配(match)是如何进行的?

相关阅读Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 匹配点、对比点和逻辑锥 匹配指的是Formality工具尝试将参考设计中的每个匹配点与实现设计中的相应匹配点进行配对,这里的匹配点包括对比点(Compare Point…

分布式算法(五):初识ZAB协议

文章目录 一、什么是Zookeeper二、ZAB与Zookeeper的关系为什么Zookeeper不直接使用Paxos 三、ZAB简介1.名词解释提案(Proposal)事务(Transaction)原子广播(Atomic Broadcast) 2.集群角色领导者(…

Mybatis 01

JDBC回顾 select 语句 "select *from student" 演示: 驱动包 JDBC 的操作流程: 1. 创建数据库连接池 DataSource 2. 通过 DataSource 获取数据库连接 Connection 3. 编写要执⾏带 ? 占位符的 SQL 语句 4. 通过 Connection 及 SQL 创建…

tensorboard的界面参数与图像数据分析讲解

目录 1.基础概念: (a)精确率与召回率: (b)mAP: (c)边界框损失: (d)目标损失: (e)分类损失: (f):学习率: 2.设置部分(最右边部分): GENERAL(常规设置…

《计算机网络A》单选题-复习题库解析-2

目录 51、下列关于以太网网卡地址特点的说法中,不正确的是( )。 52、当一个Web Browser向一个使用标准服务器端口的Web Server提出请求时,那么在服务返回的响应包中,所使用的源端口是( &#xff0…

Linux总结之CentOS Stream 9安装mysql8.0实操安装成功记录

Linux总结之CentOS Stream 9安装mysql8.0实操安装成功记录 由于网上很多的mysql8.0安装教程都是老版本或者安装过程记录有问题,导致经常安装到一半需要删除重新安装。所以将成功的实操安装过程记录一下,方面后面查阅,大家还有问题的可以在此讨…

高等数学学习笔记 ☞ 无穷小与无穷大

1. 无穷小 1. 定义:若函数当或时的极限为零,那么称函数是当或时的无穷小。 备注: ①:无穷小描述的是自变量的变化过程中,函数值的变化趋势,绝不能认为无穷小是一个很小很小的数。 ②:说无穷小时…

KMP 2024 年总结,Kotlin 崛起的一年

2024 Google I/O 上正式官宣了 KMP(Kotlin Multiplatform)项目,它是 Google Workspace 团队的一项长期「投资」项目,由 JetBrains 开发维护和开源的项目,简单来说,JetBrains 主导,Google Worksp…

【SpringBoot教程】搭建SpringBoot项目之编写pom.xml

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 👏今天毛毛张分享的内容主要是Maven 中 pom 文件🆕,涵盖基本概念、标签属性、配置等内容 文章目录 1.前言🥭2.项目基本…

【Java 学习】详讲代码块:控制流语句代码块、方法代码块、实例代码块(构造代码块)、静态代码块、同步代码块

💬 欢迎讨论:如对文章内容有疑问或见解,欢迎在评论区留言,我需要您的帮助! 👍 点赞、收藏与分享:如果这篇文章对您有所帮助,请不吝点赞、收藏或分享,谢谢您的支持&#x…