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

news2025/1/8 9:07:28

目录

一、项目接口概况

二、单接口测试-登录接口: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博客

全部内容:

Postman接口测试01|接口测试基础概念、http协议、RESTful风格、接口文档-CSDN博客

Postman接口测试02|接口用例设计_postman测试用例-CSDN博客

Postman接口测试03|执行接口测试、全局变量和环境变量、接口关联、动态参数、断言_postman内置动态参数-CSDN博客

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

Postman接口测试05|实战项目笔记-CSDN博客

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

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

相关文章

使用Locust对MongoDB进行负载测试

1.安装环境 pip install pymongo locust 2.设置测试环境 开启MongoDB服务 打开Navicat,新建MongoDB连接 新建test数据库和sample集合 3.编写脚本 load_mongo.py # codingutf-8 from locust import User, task, between, events from pymongo import MongoClie…

【微服务】3、配置管理

微服务配置管理 已掌握的微服务组件及配置管理问题引出 已掌握注册中心、Openfan、远程调用、负载均衡、网关等组件,具备微服务开发能力,但仍存在其他问题待解决。微服务和网关存在大量配置文件,其中包含很多重复配置,如数据库、日…

【Notepad++】Notepad++如何删除包含某个字符串所在的行

Notepad如何删除包含某个字符串所在的行 一,简介二,操作方法三,总结 一,简介 在使用beyoundcompare软件进行对比的时候,常常会出现一些无关紧要的地方,且所在行的内容是变化的,不方便进行比较&…

计算机网络——期末复习(7)期末试卷样例3

一、辨析题(共4小题,每小题5分,共20分) 1.差错检测是保障网络正常通信的一项重要措施,有多种差错检测算法(技术), (1)以太网和IP协议各自采用的差错校验算法…

STM32-笔记34-4G遥控灯

4G接线 一、项目需求 服务器通过4G模块远程遥控开关灯。 二、项目实现 复制项目文件夹38-wifi控制风扇项目 重命名为39-4G遥控点灯 打开项目文件 加载文件 main.c #include "sys.h" #include "delay.h" #include "led.h" #include "ua…

游戏引擎学习第77天

仓库: https://gitee.com/mrxiao_com/2d_game 回顾昨天的 bug 今天我们继续开发进度,进行调试昨天代码的问题,主要是关于如何跟踪玩家和敌人在世界中的高度位置。虽然我们做的是一款 2D 游戏,但我们希望能够处理多层的房间,玩家…

STM32完全学习——使用定时器1精确延时

一、定时器的相关配置 首先一定要是递减定时器,递增的不太行,控制的不够准确,其次在大于10微秒的延时是非常准确的,小于的话,就没有那没准,但是凑合能用。误差都在一个微秒以内。使用高级定时器也就是时钟…

aardio —— 虚表 —— 模拟属性框

写了个简单的属性框例程,抛砖引玉,期待你做出更丰富强大的功能。 本例演示:折叠子行、选择框、输入文本、输入数值、下拉选择、选择图片、选择颜色、选择字体等功能。 只有想不到,没有做不到,发挥你的想象力吧。 imp…

[微服务]redis主从集群搭建与优化

搭建主从集群 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。 1. 主从集群结构 下图就是一个简单的Redis主从集群结构: 如图所示,集群中有一个master节点、两个s…

设计模式 行为型 观察者模式(Observer Pattern)与 常见技术框架应用 解析

观察者模式(Observer Pattern)是一种行为设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新。 一…

《Opencv》图像的旋转

一、使用numpy库实现 np.rot90(img,-1) 后面的参数为-1时事顺时针旋转,为1时是逆时针旋转。 import cv2 import numpy as np img cv2.imread(./images/kele.png) """方法一""" # 顺时针90度 rot_1 np.rot90(img,-1) # 逆时针90度…

Android Studio 安装配置(个人笔记)

Android studio安装的前提是必须保证安装了jdk1.8版本以上 一、查看是否安装jdk cmd打开命令行,输入java -version 最后是一个关键点 输入 javac ,看看有没有相关信息 没有就下载jdk Android studio安装的前提是必须保证安装了jdk1.8版本以上 可以到…

spicy.signal 报错解决

报错: ImportError: cannot import name ‘kaiser’ from ‘scipy.signal’ 解决办法 找到import的位置:将 from scipy.signal import kaiser 修改为 from scipy.signal.windows import kaiser

学习threejs,导入AWD格式的模型

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.AWDLoader AWD模型加…

【Dify】Dify自定义模型设置 | 对接DMXAPI使用打折 Openai GPT 或 Claude3.5系列模型方法详解

一、Dify & DMXAPI 1、Dify DIFY(Do It For You)是一种自动化工具或服务,旨在帮助用户简化操作,减少繁琐的手动操作,提升工作效率。通过DIFY,用户能够快速完成任务、获取所需数据,并且可以…

5. CSS引入方式

5.1 CSS的三种样式 按照 CSS 样式书写的位置(或者引入的方式),CSS样式表可以分为三大类: 1.行内样式表(行内式) 2.内部样式表(嵌入式) 3. 外部样式表(链接式) 5.2 内部样式表 …

大型语言模型(LLM)中的tokens是什么

大型语言模型(LLM)中的tokens是什么 在大型语言模型(LLM)中,tokens是文本处理的基本单位,它可以是一个单词、一个字符、一个标点符号,或者是一个特殊的标记。以下是关于tokens的详细介绍及举例: 一、tokens的定义和作用 定义:tokens是将文本分割成的一个个有意义的…

计算机网络 (29)网络地址转换NAT

前言 网络地址转换(Network Address Translation,NAT)是计算机网络中的一种重要协议,它主要用于将私有IP地址转换为公共IP地址,以实现内部网络与外部网络之间的通信。 一、基本概念 NAT是一种在局域网(LAN&…

Node.js——fs(文件系统)模块

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

【cuda学习日记】2.1 2D matrix操作

2.1.1 检查块和线程索引 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include <cuda_runtime.h>#define CHECK(call) \{\const cudaError_t error call; \if (error ! cudaSuccess)\{\printf("Error…