Postman接口测试基本操作

devtools/2025/1/15 4:38:17/

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快

Postman-获取验证码

需求:使用Postman访问验证码接口,并查看响应结果。 

地址:http://kdtx-test.itheima.net/api/captchaImage

步骤:1.设置请求方式,GET请求 2.输入接口地址 3.点击发送请求 4.查看响应结果

图片

图片

{ "username":"admin", "password":"HM_2023_test", "code":"2", "uuid":"f3ba5d0cd5554e5cb842e2ceea87d1d6" 
}

设置请求方法--->设置接口URL地址---->设置请求头--->设置请求数据--->点击Send发送请求--->查看响应数据--->查看响应体数据。

Postman-登录接口自动关联数据

Postman自动关联

图片

图片

图片

// 设置验证码的uuid为指定变量 
var jsonData=pm.response.json(); 
// 设置变量值 {{captchaImage_uuid}}
pm.environment.set("captchaImage_uuid", jsonData.uuid); 

实操:

图片

图片

Postman-调试课程添加接口

接口地址:http://kdtx-test.itheima.net/api/clues/course 请求方法:Post 请求头:

{"Content-Type":"application/json", "Authorization":"XXXX"}

请求体:

{"name":"测试开发训练课001","subject":"6","price":188.88,"applicablePerson":"2","info":"专注于测试人的培训提升"}

使用Postman的自动关联功能,设置登录接口response的json数据中的token到环境变量中。

图片

在添加课程接口的Post请求的Headers中传入登录接口返回的token参数值即可正常进行添加课程操作。

图片

Postman批量运行

图片

image.png

接口测试用例设计思路

  • 正向测试

必填参数(P2)、全部参数(P2)。

  • 逆向测试

参数数据为空(P3)、参数类型不符(P3)、参数长度不符(P3)、业务规则不符(P3)。

案例:KDTX项目登录接口用例设计

需求:

  • 已注册正确的用户名和密码,登录成功

  • 用户名或密码错误,登录失败,提示“用户名或密码错误”

要求:

  1. 按照接口测试思路进行测试点分析

  2. 从测试点转化为测试用例

  3. 使用Postman进行接口测试

API文档如下:

登录接口API文档

URL:/api/login **Type:**POST **Description:**登录方法Request-Header:

参数名称参数值是否必填
Content-Typeapplication/json

Body-Parameter:

参数名称类型描述是否必填备注
usernamestring用户名True如:Manager
passwordstring密码True如:123456
codestring验证码True如:2
uuidstring用户唯一标识True生成验证码接口

Response:

request:
{"username": "admin","password": "HM_2023_test","code": "2","uuid": "b47747c6307345aab84f16e5746baef4"
}response:
{"msg": "操作成功","code": 200,"userId": 1,"token": "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImMzN2NlNDVhLWQ3NzctNDM2MC1iN2UyLWQxZDI2ODE4NmU3NiJ9.eTfoEFY8O1rGCGd5IO8fc8nFTxMq-DFkWdvPvHcJHgO_3cPc2gqdziyIpvclRxi-QEihy2EXHRbMfm65v__JWg"
}

response-example: 响应状态码:200 响应数据:登录成功:{"msg":"操作成功","code":200,"token":"xxxxxxxx"}用户名或密码错误:{"msg":"用户名或密码错误","code":500}验证码错误或过期:{"msg":"验证码已过期","code":500}

测试用例思维导图设计提取测试点

图片

测试用例设计

图片

image.png

使用Postman执行测试用例
  1. 点击测试集中的“Add Folder”添加文件夹管理测试用例

  2. 点击文件夹上的“Add Request”添加请求实现测试用例

  3. CTRL+D快速复制已保存的用例

**Postman断言设置:**

  • 响应状态码断言

  • 返回值包含断言

  • JSON内容断言

图片

example:

图片

// 响应状态码断言
pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});
// Response内容包含断言
pm.test("Body matches string", function () {pm.expect(pm.response.text()).to.include("操作成功");
});
// JSON字段断言
pm.test("Your test name", function () {var jsonData = pm.response.json();pm.expect(jsonData.msg).to.eql("操作成功");
Postman参数化

场景:测试脚本中仅测试数据不一样,使用参数化提高脚本复用性。步骤:

  1. 测试数据保存在数据文件单独维护

  2. 引用数据文件实现脚本循环调用

测试数据组织成JSON格式数据即可。

图片

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。


http://www.ppmy.cn/devtools/150580.html

相关文章

zerox - 使用视觉模型将 PDF 转换为 Markdown

7900 Stars 478 Forks 39 Issues 17 贡献者 MIT License Python 语言 代码: https://github.com/getomni-ai/zerox 主页: OmniAI. Automate document workflows 更多AI开源软件:AI开源 - 小众AI zerox基于视觉模型 API 服务,提供了将 PDF 文档转化为 Mar…

蓝桥杯嵌入式速通(1)

1.工程准备 创建一文件夹存放自己的代码,并在mdk中include上文件夹地址 把所有自身代码的头文件都放在headfile头文件中,之后只需要在新的文件中引用headfile即可 headfile中先提前可加入 #include "stdio.h" #include "string.h"…

Redis 优化秒杀(异步秒杀)

目录 为什么需要异步秒杀 异步优化的核心逻辑是什么? 阻塞队列的特点是什么? Lua脚本在这里的作用是什么? 异步调用创建订单的具体逻辑是什么? 为什么要用代理对象proxy调用createVoucherOrder方法? 对于代码的详细…

IP层之分片包的整合处理

前言 在上一章节中,笔者就IP层的接收代码逻辑做了简单介绍,并对实现代码进行了逻辑梳理以及仿真测试,并且在上一章节中,就IP层的分片包问题,如何确定分片包是否存在已经进行了简单介绍,并在接收模块中&…

信息时代的消费者行为变迁与应对策略:基于链动2+1模式、AI智能名片及S2B2C商城小程序的分析

摘要:随着信息技术的飞速发展与互联网的全面普及,消费者行为模式正在经历深刻变革。在信息大爆炸的背景下,消费者拥有了前所未有的信息获取能力,他们开始独立思考,追求个性化消费体验,并展现出理性消费的趋…

Github 2025-01-09 Go开源项目日报 Top10

根据Github Trendings的统计,今日(2025-01-09统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10TypeScript项目1Prometheus监控系统和时间序列数据库 创建周期:4149 天开发语言:Go协议类型:Apache License 2.0Star数量:52463 个…

[Android]service命令的使用

在前面的讨论中,我们说到,如果在客户端懒得使用aidl文件生成的接口类进行binder,可以使用IBinder的transcat方法 Parcel dataParcel = Parcel.obtain(); Parcel resultParcel = Parcel.obtain();dataParcel.writeInterfaceToken(DESCRIPTOR);//发起请求 aProxyBinder.trans…

蠕虫病毒会给服务器造成哪些危害?

蠕虫病毒是一种独立的恶意计算机程序,可以进行自我复制来传播到其他的计算机系统当中,蠕虫病毒和传统病毒之间是有着区别的,蠕虫病毒不需要宿主程序就能够自行传播,主要是利用各种操作系统漏洞进行攻击的。 接下来小编就介绍一下蠕…