接口自动化--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

  • 模块内容:

    // 判断响应状态码是否等于200
    pm.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. 批量执行测试用例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值