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项目登录接口用例设计
需求:
已注册正确的用户名和密码,登录成功
用户名或密码错误,登录失败,提示“用户名或密码错误”
要求:
按照接口测试思路进行测试点分析
从测试点转化为测试用例
使用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执行测试用例
点击测试集中的“Add Folder”添加文件夹管理测试用例
点击文件夹上的“Add Request”添加请求实现测试用例
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参数化
场景:测试脚本中仅测试数据不一样,使用参数化提高脚本复用性。步骤:
测试数据保存在数据文件单独维护
引用数据文件实现脚本循环调用
测试数据组织成JSON格式数据即可。
上一条:Ultra Edit功能大全
下一条:Postman接口批量执行