跳转至

最后更新:2026-09-04 01:19

实验28 国赛备赛:接口测试(Postman)

28.1 实验目的

  1. 熟悉国赛"任务七 接口测试"的题型与要求(7 分);
  2. 掌握登录接口的数据驱动测试(Data_Driver 测试集 + json 数据文件);
  3. 掌握接口测试中 token 的获取与传递(Login 取 access_token → Bearer Token);
  4. 掌握新增/修改接口的断言(状态码 200 + JSON value check);
  5. 掌握 A15 接口测试报告模板的编写。

28.2 实验环境

  1. 操作系统:Windows 10 / Windows 11;
  2. 工具:Postman(实验11 已装好);
  3. 被测接口(IP/端口按实际系统替换):
    • 登录:http://XX.XX.XX.XX:XXXX/prod-api/auth/login(POST);
    • 新增:http://XX.XX.XX.XX:XXXX/prod-api/manager/brand/add(POST);
    • 修改:http://XX.XX.XX.XX:XXXX/prod-api/manager/brand/update(PUT);
  4. 参考报告模板:A15-接口测试报告模板。

28.3 实验重难点

重点:三套测试集的搭建(Data_Driver / Test_Add / Test_Revise);登录接口返回值提取 access_token 存入环境变量并用 Bearer Token 传递。

难点:json 数据驱动(data 文件导入、运行次数 3 次、间隔 500ms);断言(响应状态码 200 + msg 含"操作成功")。

28.4 实验内容

28.4.1 国赛"任务七 接口测试"概览

1. 任务描述 了解接口测试的评分点与报告要求。

2. 实验步骤

  • 步骤 1:任务分值:任务七接口测试共 7 分:术语定义描述(1 分)、题目1(2 分)、题目2(2 分)、题目3(2 分)。

  • 步骤 2:术语定义必背:

    • 程序内部接口:程序内部方法与方法之间、模块与模块之间的交互;
    • 程序对外接口:系统获取或调用其他系统的资源或信息时,从统一规定的通道接口进行数据传递交互。
  • 步骤 3:报告要求:根据接口测试情况,参考 A15 模板,截取接口测试脚本和结果截图,完成接口测试报告。

内部接口和对外接口像什么?

内部接口像家里房间之间的门——家人(方法与模块)内部往来;对外接口像小区大门——外人取快递、访客,只能从统一规定的通道进出。

常见错误与排错

  • 术语定义是必背送分点(内部接口 / 对外接口的原文描述),写错丢 1 分;
  • 接口地址中的 IP/端口(XX.XX.XX.XX:XXXX)要按实际被测系统替换,别照抄占位符。

28.4.2 题目1:登录接口数据驱动测试

1. 任务描述 用 Data_Driver 测试集 + json 数据文件实现登录接口数据驱动。

2. 实验步骤

  • 步骤 1:接口描述:登录接口 http://XX.XX.XX.XX:XXXX/prod-api/auth/login,POST;参数 username、password、roleId(均必填,Int 类型,roleId 默认 1)。

Postman登录接口Body配置

图 28-1:Postman登录接口Body配置
  • 步骤 2:响应结果示例:

    • 登录成功:{"code": 200, "msg": xxx, "data": {"access_token": "xxx", "name": xxx, "photo": "xxx", "expires_in": xxx}}
    • 密码错误:{"msg": "登录密码错误", "code": 500}
    • 密码为空:{"msg": "请输入密码", "code": 500}
  • 步骤 3:操作步骤

    1. 在 Postman 新建 Collections 集,命名 Data_Driver
    2. 在测试集下新建 data_driver 脚本
    3. 在脚本 Body 的 raw 下新建 json 参数(username、password、roleId)传值,其中 username、password 参数改为变量接收数据驱动数据;
    4. 新建 json 文件保存接口数据驱动测试数据(json 参数名 username、password;测试数据三组:XTGLY/123456、XTGLY/123、XTGLY/空);
    5. 新建测试用例集 Data_Driver 执行 Run,设置:运行次数 3 次、请求间隔 500ms、导入前面新建的 json 数据文件
    6. 执行测试用例集。
  • 步骤 4:截图要求(6 张):①脚本含 URL 和 raw 中参数截图;②导入 json 数据后预览数据截图;③Collection Runner 页面截图;④⑤⑥ 分别截取三条用例测试报告中 Response Body 的全部内容。

为什么要对登录接口做数据驱动?

一套脚本喂三组数据(正确密码、错误密码、空密码),像用同一把钥匙坯试三种锁况——不用复制三份脚本,改数据文件就行。

常见错误与排错

  • Collection Runner 三项设置缺一不可:运行次数 3 次、间隔 500ms、导入新建的 json 数据文件,漏一项数据驱动就不生效;
  • username、password 要改成变量接收数据,写死成固定值就不是数据驱动了。

28.4.3 题目2:新增接口测试(Login 取 token → Bearer Token → 断言)

1. 任务描述 搭建 Test_Add 测试集,登录取 token,新增品牌并断言。

2. 实验步骤

  • 步骤 1:接口描述:商品品牌新增 http://XX.XX.XX.XX:XXXX/prod-api/manager/brand/add,POST;参数 createBy(默认 2)、name(商品品牌名称,String)。响应:{"msg": "操作成功", "code": 200},其余均失败。

  • 步骤 2:操作步骤

    1. 新建 Collections 集 Test_Add
    2. 新建测试用例 1 Login 脚本:URL .../prod-api/auth/login,Json 参数 {"username":"XTGLY","password":"123456","roleId":1}
    3. 在 Login 脚本 Tests 中编写代码:将 Login 返回值 responseBody 转为 json 字符串,把 access_token 的值用 setEnvironmentVariable 方法存放到环境变量,环境变量命名 token
    4. 新建测试用例 2 Add 脚本:把 Login 获取的变量 token 放在 Add 脚本 Authorization 界面的 Bearer Token 中;
    5. 在 Environment 中新建变量 token(其他值为空)方便调试;
    6. Add 脚本 URL .../prod-api/manager/brand/add,Json 参数 {"createBy":"2","name":"测试数据"}
    7. 在 Add 脚本 Tests 中做两个断言:①判断响应状态码为 200;②用 JSON value check 判断响应内容中 msg 参数值存在"操作成功"字符串;
    8. 执行测试集 Test_Add。
  • 步骤 3:断言代码示意:

Postman Tests断言与Test Results

图 28-2:Postman Tests断言与Test Results
1
2
3
4
5
6
7
    pm.test("Status code is 200", function () {
        pm.response.to.have.status(200);
    });
    pm.test("msg包含操作成功", function () {
        var jsonData = pm.response.json();
        pm.expect(jsonData.msg).to.include("操作成功");
    });
  • 步骤 4:截图要求(4 张):①Add 的 Body 界面(含提交方式和 URL 及 raw);②Add 的 Authorization 界面(含 Type 及 Token);③Add 的 Tests 界面;④Test_Add 执行结果界面。

token 是什么?为什么要传给新增接口?

token 就像进门后发的临时手环:登录接口验明正身后发手环(access_token),新增接口要查手环(Bearer Token)才放行——没有手环,请求一律失败。

常见错误与排错

  • 断言两件套缺一不可:响应状态码 200 + JSON value check 判断 msg 含"操作成功",只断言状态码会漏掉业务错误;
  • 环境变量名必须是 token(与 Bearer Token 处引用一致),并在 Environment 中新建同名变量方便调试。

28.4.4 题目3:修改接口测试

1. 任务描述 搭建 Test_Revise 测试集,登录取 token,修改品牌并断言。

2. 实验步骤

  • 步骤 1:接口描述:商品品牌修改 http://XX.XX.XX.XX:XXXX/prod-api/manager/brand/updatePUT;参数 id(修改 id)、name(商品品牌名称)。响应:{"msg": "操作成功", "code": 200},其余均失败。

  • 步骤 2:操作步骤

    1. 新建 Collections 集 Test_Revise
    2. 新建 Login 脚本(同题目2:URL、Json 参数、Tests 提取 access_token 存入环境变量 token);
    3. 新建 Revise 脚本:token 放在 Authorization 界面的 Bearer Token;
    4. 在 Environment 新建变量 token 方便调试;
    5. Revise 脚本 URL .../prod-api/manager/brand/update,Json 参数 {"id":"1","name":"测试"}
    6. 在 Revise 脚本 Tests 中设置两个断言:①响应状态码 200;②JSON value check 判断 msg 中存在"操作成功"字符串;
    7. 执行测试集 Test_Revise。
  • 步骤 3:截图要求(4 张):①Revise 的 Body 界面;②Revise 的 Authorization 界面;③Revise 的 Tests 界面;④Test_Revise 执行结果界面。

修改接口和新增接口最关键的区别是什么?

请求方法从 POST 换成 PUT,参数多了 id——就像改快递地址要报运单号,先说清"改哪一条",再说改成什么。

常见错误与排错

  • 从 Add 复制脚本后最容易忘改两处:URL 末尾的 /update 和请求方式 PUT,漏改就变成又新增了一条数据;
  • Json 参数 {"id":"1","name":"测试"} 中的 id 要填真实存在的品牌 id,否则修改不生效。

28.4.5 编写接口测试报告(A15 模板)

1. 任务描述 按 A15 模板完成接口测试报告。

2. 实验步骤

  • 步骤 1:报告结构:
    • 简介:目的(分析接口 API 文档,验证系统组件间接口相互逻辑依赖关系是否正确,提供可量化测试结果,发现潜在问题和缺陷,确保接口稳定性与兼容性,为后期优化修复提供分析参考依据);术语定义(内部接口 / 对外接口);
    • 执行结果:按题目1~3 依次粘贴要求的截图(Body、Authorization、Tests、Collection Runner、Response Body、执行结果)。

28.5 实验总结

本次实验完成了国赛"任务七 接口测试"(7 分)的备赛训练:掌握三套测试集(Data_Driver 数据驱动、Test_Add 新增、Test_Revise 修改)的搭建,核心链路是"Login 接口取 access_token → setEnvironmentVariable 存环境变量 → 下一个接口 Bearer Token 引用 → Tests 断言(状态码 200 + msg 含'操作成功')"。记住术语定义(内部/对外接口),并按 A15 模板完成报告。接口测试分值虽只有 7 分,但流程短、拿分稳,务必满分拿下。

28.6 作业提交

  1. 提交地点:吾爱作业网
  2. 提交资料:
    • Data_Driver 测试集:脚本/预览/Collection Runner/三条用例 Response Body 截图;
    • Test_Add:Body / Authorization / Tests / 执行结果截图;
    • Test_Revise:Body / Authorization / Tests / 执行结果截图。
    • 不会做时填写"心得感悟"(1~50 字)。

28.7 知识检测

  • [ ] (填空)登录接口返回的 data 中,用于后续接口鉴权传递的字段是 access_token
  • [ ] (填空)Add 脚本把获取的 token 放在 Authorization 界面的 Bearer Token 中。
  • [ ] (填空)Data_Driver 测试集执行时设置运行次数 3 次、请求间隔 500ms,并导入 json 数据文件。
  • [ ] (选择)商品品牌修改接口的请求方法是( )。
    • A. POST B. GET C. PUT D. DELETE
查看解析

正确答案:C。修改接口 .../manager/brand/update 使用 PUT 方法,新增接口才是 POST。

  • [ ] (填空)Tests 断言两件套:判断响应状态码为 200,并用 JSON value check 判断 msg 中存在操作成功字符串。

本课相关资源

序号 资源名称 类型 说明
1 文档.docx 任务文档 三道题目要求
2 A15-接口测试报告模板.doc 报告模板 报告结构
3 评分标准.docx 评分标准 任务七评分细则

实验素材下载

点击下方链接获取本节课全部资源(含课件、任务清单、安装包等): 🔗 夸克网盘

本站总访问 次 | 访客 人 | 本页阅读