跳转至

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

实验23 Postman接口测试

难度:★★☆ | 预估时长:__ 分钟

23.1 实验目的

  • 知识目标:理解 HTTP 四种请求方法(GET / POST / PUT / DELETE)的用途与传参方式;理解常见授权类型(No Auth / Bearer Token / Basic Auth / Digest Auth)的作用;理解 Postman 中环境 / 本地 / 全局三种变量的作用域与引用格式 {{varname}}
  • 技能目标:能使用 Postman 发送四种请求、配置各类授权、设置与引用变量、编写断言脚本(pm.test / pm.response)、用 Collection Runner 批量执行测试集,并用数据文件(data.json)做数据驱动测试。
  • 素养目标:养成"先看响应状态码与响应体再判断问题"的接口测试工程习惯,并树立敏感信息(API 密钥、密码)保护意识。

23.2 实验环境

  1. 操作系统:Windows 10 / Windows 11;
  2. 工具:Postman(实验11 已装好);
  3. 在线接口服务:postman-echo.com、postman-echo.com/basic-auth、postman-echo.com/digest-auth 等;
  4. 数据文件:data.json(数据驱动用)。

23.3 实验重难点

重点:四种请求方法传参方式(Params / Body);授权类型选择;变量引用格式 {{varname}};断言脚本(pm.test / pm.response)。

难点:本地变量用 Pre-request Script 赋值(pm.variables.set);Tests 中脚本控制 API 执行顺序(postman.setNextRequest);数据驱动(Collection Runner + data.json)。

23.4 实验内容

23.4.1 发送请求(GET / POST / PUT / DELETE)

1. 任务描述 用 Postman 发送四种 HTTP 请求方法。

2. 实验步骤

  • 步骤 1:GET 请求——从服务器检索数据,用 Params 传参:

Postman GET请求带参数

图 23-1:Postman GET请求带参数
https://postman-echo.com/get?params1=xxx&params2=yyy
  • URL 中 ? 后面接参数,& 连接多个参数;
  • 单击 Params 按钮可自动解析参数;复选框控制是否传参;Bulk Edit 批量编辑;
  • 单击 Send,下方可查看响应内容、Cookie、Headers、状态码。

  • 步骤 2:POST 请求——把数据传给服务器,可用 Params 或 Body 传参:

    • Params 传参:https://postman-echo.com/post?params=jiekouceshi
    • Body 传参(application/x-www-form-urlencoded):params1=jiekouceshiparams2=666
  • 步骤 3:PUT 请求——用传的数据取代指定文档内容(如 Body 为 RAW 类型 jiekouceshi)。

  • 步骤 4:DELETE 请求——删除服务器资源(Params / Body 传参均可)。

四种方法一句话怎么记?

GET 像去仓库"取货"(从服务器拿数据);POST 像"寄货"(把数据传给服务器);PUT 像"整箱换货"(用传的数据整体替换指定资源);DELETE 就是"退货"(删除服务器资源)。

常见错误与排错

  • 若参数没传过去:检查是否点了 Params 按钮、参数行的复选框是否勾选;Bulk Edit 可批量编辑键值对;
  • 若响应 404 / 405:确认请求方法(GET/POST/PUT/DELETE)选对、URL 拼写正确。

23.4.2 接口授权设置

1. 任务描述 掌握 Postman 常用授权类型。

2. 实验步骤

  • 步骤 1:认识 Postman 支持的授权类型(Inherit auth from parent / No Auth / Bearer Token / Basic Auth / Digest Auth / OAuth1.0 / OAuth2.0 / Hawk 等)。

  • 步骤 2:Inherit auth from parent:默认,文件夹中的每个请求使用来自父级的授权类型。

  • 步骤 3:No Auth:接口不需要授权时使用。

  • 步骤 4:Bearer Token:授权标签中 TYPE 选 Bearer Token,输入令牌值,Send。

  • 步骤 5:Basic Auth:请求 https://postman-echo.com/basic-auth(GET),用户名 postman、密码 password。

Postman Basic Auth 授权设置

图 23-2:Postman Basic Auth 授权设置
  • 未授权直接请求 → 返回认证失败提示;
  • 正确授权 → 返回成功结果。

  • 步骤 6:Digest Auth:请求 https://postman-echo.com/digest-auth(GET),把用户名/密码等必填参数填到 Digest Auth 界面。

  • 步骤 7:OAuth1.0 / OAuth2.0 / Hawk:按实际需求填写对应参数。

为什么 Postman 不显示授权请求头?

Postman 默认不保存授权请求头和请求参数,是为了防止 API 密钥、密码等敏感数据被泄露。想确认实际发出的请求头,可单击"预览请求"按钮查看。

常见错误与排错

  • 若返回认证失败:确认用户名/密码是否正确,以及授权 TYPE 是否选对(Basic/Digest/Bearer);
  • 切勿把真实密码、Token 写进会外发的截图或文档,注意敏感信息保护。

1. 任务描述 设置并获取 Cookie,用 Console 监控。

2. 实验步骤

  • 步骤 1:在 Send 按钮下方单击 Cookies 文字菜单,添加域名和 Cookie 的名称、值。

  • 步骤 2:对 https://postman-echo.com/get?param1=test00001&param2=123456 设置 Cookie 后 Send,页面 Cookies 区域显示所设置的 Cookie 信息。

  • 步骤 3:发送前调出 Postman ConsoleCtrl + Alt + C),发送后可在 Request Headers 中看到 Cookie 信息。

  • 步骤 4:删除:单击 Cookies 菜单,按需求清除对应 Cookie。

Cookie 像什么?

Cookie 就像商场寄存柜的小票:你第一次存东西(登录)时系统给你一张票(Cookie),之后每次来(发请求)出示这张票,服务器就知道"是你"。

常见错误与排错

  • 若看不到 Cookie 信息:先按 Ctrl + Alt + C 打开 Postman Console,在 Request Headers 中查看;
  • 若 Cookie 没生效:确认是在 Send 前于 Cookies 菜单中正确添加了域名与键值。

23.4.4 变量设置(环境 / 本地 / 全局变量)

1. 任务描述 掌握三种变量的设置与引用。

2. 实验步骤

  • 步骤 1:环境变量:单击右上角眼睛图标设置。如设置变量名称 release、host 值为 postman-echo.com 的生产环境变量。引用格式:{{varname}}

  • 步骤 2:本地变量:作用域局限在单个 URL 请求范围内。例如请求 URL 设置两个本地变量(user、passwd)作为参数(POST),在 Pre-request Script 中赋值:

pm.variables.set("user", "jiekouceshi")
pm.variables.set("passwd", "666666")
  • 步骤 3:全局变量:眼睛图标 → Global → Edit 设置,引用格式同环境变量。也可用脚本设置:
pm.globals.set("variable_key", "variable_value")

三种变量有什么区别?

  • 环境变量:给某套环境(如生产/测试)用的"公共便签",切环境就切换;
  • 本地变量:只在当前这一次请求里有效,像一次性便利贴;
  • 全局变量:所有请求都能用,像贴在全公司公告栏的便签。

常见错误与排错

  • 若变量引用不生效:检查引用格式必须是 {{变量名}}(双花括号),变量名拼写要与定义一致;
  • 若本地变量没取到值:确认已在 Pre-request Script 中用 pm.variables.set 赋值。

23.4.5 数据断言

1. 任务描述 编写断言验证响应状态码、响应内容、响应时间。

2. 实验步骤

  • 步骤 1:请求 postman-echo.com/post(POST),断言规则:响应状态码 200、响应内容 user 参数值一致、响应时间小于 0.5s。

  • 步骤 2:在 Body 中定义本地变量;在 Pre-request Script 定义变量 user。

  • 步骤 3:在 Test 栏编写断言脚本(示意):

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
pm.test("响应时间小于0.5s", function () {
    pm.expect(pm.response.responseTime).to.be.below(500);
});
pm.test("user参数一致", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.args.user).to.eql(pm.variables.get("user"));
});
  • 步骤 4:单击 Send,查看断言结果(通过/失败)。

断言是干什么的?

断言就像考试里的"标准答案对照":脚本自动检查响应状态码、内容、耗时是否和预期一致,一致就通过,不一致就标红,省去人工肉眼核对。

常见错误与排错

  • 若断言一直失败:先单独发请求看响应体,确认字段名(如 user)和取值路径 jsonData.args.user 是否正确;
  • 若脚本报错:检查 JS 语法(括号、分号、引号是否配对)。

23.4.6 批量执行

1. 任务描述 用 Collection Runner 批量执行测试集,并用脚本控制执行顺序。

2. 实验步骤

  • 步骤 1:测试集准备:预先准备好测试集(如 postman-echo.com),内含多个不同请求的 API。

  • 步骤 2:进入 Collection Runner:方式1 单击左上角 Runner 按钮;方式2 单击测试集右侧 ">" → Run。

  • 步骤 3:配置 Collection Runner 选项,开始批量执行,检查执行效果。

  • 步骤 4:脚本控制执行顺序:集合含三个请求(/get、/post、/put),默认自上而下:/get → /post → /put。

postman.setNextRequest("postman-echo.com/put");
  • 在 /put 的 Tests 中写脚本让下一个执行 /post;
  • 在最后一个执行 API 的 Tests 中添加终止执行的脚本(如 postman.setNextRequest(null);)。
  • 最终顺序:/get → /put → /post。

Collection Runner 像什么?

它像一个"自动流水线":把多个请求排好队,一口气按顺序跑完,还能按脚本控制谁先谁后,不用你手动一个个点 Send。

常见错误与排错

  • 若执行顺序不对:检查 postman.setNextRequest("下一个请求名") 写的是哪个请求;
  • 若想终止循环:在最后一个请求的 Tests 中加 postman.setNextRequest(null);,否则可能一直跳转循环。

23.4.7 数据驱动

1. 任务描述 用 JSON 数据文件驱动测试集批量执行。

2. 实验步骤

  • 步骤 1:准备数据文件 data.json(application/json):
1
2
3
4
5
[
  {"uname": "test00001", "pwd": "111111"},
  {"uname": "test00002", "pwd": "222222"},
  {"uname": "test00003", "pwd": "333333"}
]
  • 步骤 2:准备测试集 Data_Driver:请求 URL https://postman-echo.com/get?uname={{uname}}&pwd={{pwd}}(GET),传递参数 uname、pwd。

  • 步骤 3:对测试集执行 Run,配置 Collection Runner 选项(导入 data.json)。

  • 步骤 4:正式执行前可单击 Preview 预览,检查 data.json 是否按预期迭代;符合预期再执行。

  • 步骤 5:正式执行数据驱动测试,检查执行效果(3 组数据 → 3 次迭代)。

数据驱动有什么好处?

一套测试脚本 + 一份数据文件,就能用不同数据(如 3 组账号)反复跑同一接口,像用同一个模具压出不同口味的饼干,既省事又覆盖全。

常见错误与排错

  • 若数据没迭代:确认 Collection Runner 已导入 data.json 且运行次数 ≥ 数据条数;
  • 正式执行前先点 Preview 预览,确认每组数据按预期代入 {{uname}} / {{pwd}}

23.5 实验总结

本次实验完成了 Postman 接口测试的核心能力(对应三维目标):

  1. 一是理解了 HTTP 四种请求方法的用途、授权类型与三种变量作用域(对应知识目标);
  2. 二是能发送四种请求、配置授权、用 {{varname}} 引用变量、编写断言脚本、用 Collection Runner 批量执行并用 data.json 做数据驱动(对应技能目标);
  3. 三是养成"先看响应状态码再判断问题"的习惯,并树立敏感信息保护意识(对应素养目标)。 至此,接口测试第一套工具(Postman)已掌握,实验24 将用 JMeter 完成同样的接口测试任务,形成工具对照。

23.6 作业提交

  1. 提交地点:吾爱作业网
  2. 提交资料:
    • GET/POST 请求及响应截图;
    • Basic Auth 授权成功/失败对比截图;
    • 断言通过结果截图;
    • 数据驱动批量执行结果截图。
    • 不会做时填写"心得感悟"(1~50 字)。

23.7 知识检测

  • [ ] (填空)Postman 中引用变量的格式是 {{varname}}
  • [ ] (选择)在 Tests 中想断言响应状态码为 200,应使用哪个对象? A. pm.request B. pm.response C. pm.environment D. pm.variables
查看解析

正确答案:B。用 pm.response.to.have.status(200) 断言响应状态码。

  • [ ] (选择)用 Collection Runner 实现数据驱动,需要导入的数据文件通常是? A. .docx B. .json 或 .csv C. .pptx D. .exe
查看解析

正确答案:B。常用 data.json 或 CSV 文件驱动多组测试数据。

  • [ ] (填空)让集合下一个请求跳转到指定请求,使用的函数是 postman.setNextRequest

本课相关资源

序号 资源名称 类型 说明
1 任务3.1.1 PostMan发送请求.pptx 课件 GET/POST/PUT/DELETE
2 任务3.1.2 接口授权设置.pptx 课件 授权类型
3 任务3.1.3 Cookie设置.pptx 课件 Cookie 设置/获取/删除
4 任务3.1.4 变量设置.pptx 课件 环境/本地/全局变量
5 任务3.1.5 数据断言.pptx 课件 断言脚本
6 任务3.1.6 批量执行.pptx 课件 Collection Runner、执行顺序
7 任务3.1.7 数据驱动.pptx 课件 data.json 数据驱动

实验素材下载

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

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