0


接口自动化--Postman(2)

【黑马客达天下-登录单接口测试】

接口用例设计思路

单接口测试

  • 正向测试 - 必填参数 P2(优先级)- 全部参数 P2
  • 逆向测试 - 参数数据为空 P3- 参数类型不符 P3- 参数长度不符 P3- 业务规则不符 P3 ##案例:完成KDTX项目登录接口用例测试
  • 需求 - 已注册正确的用户名和密码,登录成功- 用户名或密码错误,登录失败,提示“用户名或密码错误”
  • 要求 - 按照接口测试思路进行测试点分析- 从测试点转化为测试用例- 使用Postman进行接口测试

1、提取测试点
在这里插入图片描述

2、设计测试用例
在这里插入图片描述

3、使用Postman进行接口测试

  • 步骤 - 点击测试集中的 “Add folder” 添加文件夹管理测试用例- 点击文件夹上的 “Add Request” 添加请求实现测试用例

在这里插入图片描述
【注意】bug文字性提示错误bug;postman中可用ctrl+d进行复制用例

postman断言

  • 作用:让postman工具代替人工自动判定预期结果和实际结果是否一致
  • 用法在这里插入图片描述

响应状态码断言

  • 模块名称:Status code: Code is 200
  • 模块内容:// 判断响应状态码是否等于200pm.test("Status code is 200", function (){ pm.response.to.have.status(200);});

包含指定字符串断言

  • 模块名称:Response body: Contains string
  • 模块内容:// 判断响应结果是否包含指定字符串pm.test("Body matches string", function (){ pm.expect(pm.response.text()).to.include("string_you_want_to_search");});

JSON数据断言

  • 模块名称:Response body: JSON value check
  • 模块内容:// 判断响应结果是否包含指定字符串pm.test("Your test name", function (){var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100);});// 其中value是指实际json数据中的参数key,100是指预期结果

针对KDTX项目登录成功接口用例完成断言设置

需求及分析:
① 断言响应状态码为200

pm.test("断言响应状态码为200", function (){
    pm.response.to.have.status(200);});

② 断言响应数据中包含‘成功’

pm.test("断言响应数据中包含'成功'", function (){
    pm.expect(pm.response.text()).to.include("成功");});

③ 断言JSON数据中msg值为‘操作成功’

pm.test("断言JSON数据中msg值为'操作成功'", function (){var jsonData = pm.response.json();
    pm.expect(jsonData.msg).to.eql('操作成功');});

postman参数化

问题:每条测试用例都添加一个请求,重复读太高,怎么解决?

postman参数化介绍

  • 场景:测试脚本中仅测试数据不一样,使用参数化提高脚本复用
  • 步骤 - 测试数据保存在测试文件单独维护- 引用数据文件实现脚本循环调用

postman参数化实现

  • 准备数据文件 - json格式- [{“username”:“manager”,“password”:“123456“,“status”:“200”,“message”:“成功”, “msg”:“操作成功”}, {“username”:”",“password”:"123456“,“status”:“200”,“message”:“错误”, “msg”:“用户名或密码错误”}]
  • 引用数据文件数据 - 请求参数中获取 - **{{}}**引用相关对象的key eg:{{username}}- 代码中获取 - Postman内置data对象引用key eg: data.status

针对KDTX项目登录接口参数化实现

  • 需求: 针对登录接口,将请求数据和断言数据组织成JSON文件,并使用Postman批量运行
  • 分析: ① JSON文件如何组织? ② 如何使用后Postman批量运行?在这里插入图片描述在这里插入图片描述

在这里插入图片描述
【总结】
1、参数化的作用是什么?
提高测试脚本复用性

2、Postman如何实现参数化?

  1. 准备数据文件
  2. 引用数据文件 请求参数中获取: {{变量名}} 代码中获取: data.变量名
  3. 批量执行测试用例

本文转载自: https://blog.csdn.net/zxcvbnm_1206/article/details/141130711
版权归原作者 叻意 所有, 如有侵权,请联系我们删除。

“接口自动化--Postman(2)”的评论:

还没有评论