Postman接口测试基本操作

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

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批量运行

接口测试用例设计思路

  • 正向测试

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

  • 逆向测试

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

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

需求:

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

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

要求:

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

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

  3. 使用Postman进行接口测试

API文档如下:

登录接口API文档

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

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

Body-Parameter:

参数名称 类型 描述 是否必填 备注
username string 用户名 True 如:Manager
password string 密码 True 如:123456
code string 验证码 True 如:2
uuid string 用户唯一标识 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}

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

测试用例设计

使用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格式数据即可。

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

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

相关推荐
winfredzhang10 小时前
基于wxPython的TodoList任务管理器开发详解
python·wxpython·todolist·持久
釉色清风10 小时前
在openEuler玩转Python
linux·开发语言·python
Blossom.11810 小时前
基于多智能体强化学习的云资源调度系统:如何用MARL把ECS成本打下来60%
人工智能·python·学习·决策树·机器学习·stable diffusion·音视频
qq_27049009610 小时前
车牌识别技术:从深度学习到产业应用的全面解析
python·cnn
Data_agent11 小时前
1688按图搜索1688商品(拍立淘)API ,Python请求示例
爬虫·python·算法·图搜索算法
吃好喝好玩好睡好11 小时前
OpenHarmony混合开发实战指南
c语言·python·flutter·vr·visual studio
white-persist11 小时前
【攻防世界】reverse | re1-100 详细题解 WP
c语言·开发语言·网络·汇编·python·算法·网络安全
CHANG_THE_WORLD11 小时前
Python 中的循环结构详解
开发语言·python·c#
quikai198111 小时前
python练习第一组
开发语言·python