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,一经查实,立即删除!

相关文章

PyTorch快速入门教程【小土堆】之完整模型训练套路

视频地址完整的模型训练套路(一)_哔哩哔哩_bilibili import torch import torchvision from model import * from torch import nn from torch.utils.data import DataLoader# 准备数据集 train_data torchvision.datasets.CIFAR10(root"CIFAR10&…

网络分析工具-tcpdump

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

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

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

Python中的sqlite3模块:SQLite数据库接口详解

Python中的sqlite3模块:SQLite数据库接口详解 主要功能sqlite3.connect(database)connection.cursor()cursor.execute(sql)connection.commit()cursor.fetchall()connection.close() 使用示例执行结果总结 在Python中,sqlite3模块提供了一个与SQLite数据…

easyui textbox使用placeholder无效

easyui textbox使用placeholder无效 在easyui 的textbox控件&#xff0c;请使用data-options 设定 示例 <input type text class easyui-textbox data-options "prompt:请输入您的邮箱"/>

[创业之路-232]:《华为闭环战略管理》-5-组织架构、业务架构、产品架构、技术架构、项目架构各自设计的原则是什么?

目录 一、组织架构设计原则 二、业务架构设计原则 三、产品架构设计原则 四、技术架构设计原则 五、项目架构设计原则 一、各自的组成元素 组织架构、业务架构、产品架构、技术架构、项目架构各自的组成元素具体如下&#xff1a; 组织架构 - 组织企业相似资源的方式&…

STM32中断详解

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

Github 2024-12-28 Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2024-12-28统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10TypeScript项目1Python项目1egui: 一个简单、快速且高度可移植的 Rust GUI 库 创建周期:1903 天开发语言:Rust协议类型:Apache Li…

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

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

心力衰竭相关临床记录数据分析开发技术概述

心力衰竭相关临床记录数据分析开发技术概述 心力衰竭临床记录数据分析的开发涉及多种技术&#xff0c;包括数据采集、处理、建模和可视化等方面。以下是从技术角度对整个开发流程的概述&#xff1a; 数据采集技术 1.1 数据来源 公开数据集&#xff1a;如 UCI 数据存储库、Clin…

三分钟在你的react项目中引入tailwindcss

前言&#xff1a;在vite搭建的react项目中引入并使用tailwindcss 一、初始化react项目 1、创建项目 在文件夹下右键打开终端并输入命令使用vite创建项目 pnpm create vite react-tailwind选择reactjavascript&#xff0c;并输入命令安装依赖并启动 2、安装tailwind pnpm …

端到端性能体验稳定性优化常见方案

引言 作为一个服务端程序员&#xff0c;在一个领域深耕几年之后&#xff0c;会发现学习的新东西越来越少&#xff0c;这时候怎么办呢&#xff1f;就需要一边深耕&#xff0c;一边增加对相关横向团队的了解和交流&#xff0c;会发现原来端到端链路还有非常广阔的空间等着你去成长…

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

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

C之(14)gcov覆盖率

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

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

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

UE5 Debug的一些心得

1、BUG粗略可分为两类&#xff1a; 一种是显性的&#xff0c;编译直接就通不过&#xff0c;必须马上解决。 第二种是隐性的&#xff0c;新功能完成后&#xff0c;编译成功顺利运行&#xff0c;洋洋自得&#xff0c;而问题隐藏在幕后&#xff0c;测试之后才逐渐发现有问题&…

Django多字段认证的实现

Django多字段认证 需求&#xff1a; django认证的检查用户是username&#xff0c;如果使用 username和 手机号验证登录。 重写&#xff1a; ModelBackend 类下的 authenticate 方法 # 在对应应用下创建 utils.py""" 修改Django认证类&#xff0c;为了实现 …

Paperlib(论文管理工具)

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

c# 2024/12/27 周五

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