📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
一. Postman概述及安装
1.1 Postman工具介绍
Postman是一款支持HTTP请求的API开发与测试工具。支持接口发送、脚本编写、集合管理及自动化测试等功能,适用于开发、测试和运维人员。作为测试人员可以在上面进行接口测试及接口自动化方面的测试。
如下是其主要工具功能:
• HTTP请求发送:支持GET/POST等请求类型,可配置Headers、Body参数及环境变量,实现多环境切换。
• 脚本编写:基于Node.js的沙箱环境,支持在请求前后编写JS脚本,用于动态参数生成、数据预处理等。
• 集合管理:可运行多个请求的集合,支持一键执行所有请求,并可通过Newman命令行工具集成CI/CD流程。
1.2 Postman工具安装
🎯 本质上,Postman的工具安装相对比较简单,只需要进入到官网,下载应用,进行一键安装即可。如下是具体的操作步骤。
操作步骤如下:
步骤 1:访问官方网站并下载
第一步:打开浏览器,访问 Postman 官网地址:https://www.postman.com/downloads/
第二步:网站会根据你的操作系统(Windows, macOS, Linux)自动推荐对应的版本。如果没有,则手动选择。
第三步:点击 “Windows XXX”(或 macOS / Linux)按钮,进行下载即可。

步骤 2:安装应用程序
Windows 系统:
1. 下载完成后,找到 .exe 安装文件。
2. 安装过程非常简单,双击运行安装程序,基本上是“下一步”直到完成。
3. 安装完成后,打开Postman 会自动启动。
macOS 用户:
1. 下载完成后,你会得到一个 .dmg 磁盘映像文件。
2. 双击打开 .dmg 文件,将 Postman 图标拖拽到 Applications 文件夹中。
3. 在“启动台”或“应用程序”文件夹中找到并点击 Postman 来运行它。(首次运行时,可能会提示你确认来自未识别的开发者,请前往“系统偏好设置”->“安全性与隐私”中允许运行。)
步骤 3:首次启动与登录/注册
• 如果你已有 Postman 账户:直接登录。
• 如果你没有账户:点击“Create Account”创建一个免费的。
如下图,按照提示去进行登录或者注册即可。【Postman有时候会有点慢,多尝试几次。】


1.3 Postman的界面介绍
主页面界面
Postman的界面主要分为菜单栏、工具栏、请求管理区、环境管理区、请求设计区及底部状态栏,如下图所示。

如下是功能模块的大概介绍,后续结合具体的功能操作去进行演示。
① 菜单栏:最顶部,包含 File、Edit、View、Help 等常见菜单项。
• 用于进行全局操作,如新建窗口、设置、导入/导出数据、管理账户等。
② 工作台:分为 “My Workspace”(个人)和 “Team Workspace”(团队)
• 可以切换不同工作区,个人使用一般选择My Workspace。
• 便于管理个人或团队的 Collections(测试集)、Environments(环境变量)、Mock Servers 等。
③ 工具栏:位于菜单栏下方,包含常用的操作按钮
• Collections(测试集):可以维护对应的接口集合,比如:New(新建请求、集合)、Import(导入数据)、Runner(运行集合测试)
• Environments(环境变量):创建对应的环境变量、全局变量等。
• APIs(接口集):可以对API进行定义,基于API,创建测试集合,进行测试。
• Monitors(监控):能够监控某个测试集合。
• History(历史记录):查看执行的记录。
④ 主面板:
• 界面中央区域,显示当前选中的集合、请求、测试脚本等。
• 可以编辑请求参数、Headers、Body,查看响应结果。
• 也用于管理 Pinned Collections(置顶集合),方便快速访问常用接口。
⑤ 状态栏:
• 界面底部,显示当前连接状态(如 Online)、搜索与替换功能(Find and replace)、控制台(Console)等。
• 控制台用于查看请求日志、错误信息和调试输出。
发送请求界面
发送请求的界面是最核心的页面,大概的页面字段如下所示:


二. Postman工具基本应用
2.1 接口的基本概念
作为测试人员,我们通常使用 Postman 这类基于 HTTP 协议的工具来发送接口请求,以验证接口的功能与准确性。HTTP 协议本身是一种基于“请求-响应”模型的通信协议,因此接口测试的核心逻辑可以概括为:输入特定数据,验证返回结果是否符合预期。
以登录接口(login)为例:
• 当输入正确的账号和密码时,应返回登录成功及相关用户信息;
• 当输入错误的账号或密码时,则应返回明确的错误提示。
从测试思路上看,接口测试与基于 UI 的功能测试本质是相通的,都是围绕“输入-输出”的校验逻辑展开。二者的主要区别在于测试的入口和操作方式:UI 测试通过图形界面模拟用户操作,而接口测试则直接通过工具调用后端服务,更聚焦于业务逻辑与数据层面的验证。
所以,问题的核心在于明确接口的“输入”与“输出”。所以为确保测试的准确性,我们不仅需要需求文档来把握业务正确性,更离不开接口文档来提供这些输入与输出的明确定义。
所以我们需要从接口文档中提取如下:四要素
• 请求数据(输入):请求URL、请求方法、请求数据(请求头、请求体等)
• 响应数据(输入):响应数据(应该返回的数据,比如:状态码、响应数据等全部返回信息)
2.2 实操:怎么发送Get请求
示例:接口信息-显示榜单列表
• 简介:显示当前的点击榜单列表
• 地址:http://novel.hctestedu.com/book/listClickRank
• 类型:GET
• 状态码:200
• 返回接口格式:
1 ├─ code: String
2 ├─ msg: String
3 └─ data: Array
4 ├─ id: Array : Array
5 ├─ workDirection: Null
6 ├─ catId: Array : Array
7 ├─ catName: Array : Array
8 ├─ picUrl: Array : Array
9 ├─ bookName: Array : Array
10 ├─ authorId: Array : Array
11 ├─ authorName: Array : Array
12 ├─ bookDesc: Array : Array
13 ├─ score: Null
14 ├─ bookStatus: Null
15 ├─ visitCount: Null
16 ├─ wordCount: Array : Array
17 ├─ commentCount: Null
18 ├─ yesterdayBuy: Null
19 ├─ lastIndexId: Array : Array
20 ├─ lastIndexName: Array : Array
21 ├─ lastIndexUpdateTime: Array : Array
22 ├─ isVip: Null
23 ├─ status: Null
24 ├─ updateTime: Null
25 ├─ createTime: Null
26 ├─ crawlSourceId: Null
27 ├─ crawlBookId: Null
28 ├─ crawlLastTime: Null
29 └─ crawlIsStop: Null
实操:界面操作
步骤1:点击新增按钮,新建一个请求

步骤2:按照【接口信息-显示榜单列表】把对应的数据进行填写。

步骤3:检查响应数据的正确性,同时可以进行保存到对应的测试集。

2.3 实操:怎么发送Post请求
示例:接口信息-登录接口
• 简介:使用注册的账号进行登录【自行提前注册】
• 地址:http://novel.hctestedu.com/user/login
• 类型:POST
• 状态码:200
• 请求头:Content-Type:multipart/form-data
• 请求接口格式:
1 ├─ username: String (手机号)
2 └─ password: String (密码)
• 返回接口格式:
1 ├─ code: String
2 ├─ msg: String
3 └─ data: Object
4 └─ token: String
实操:界面操作
步骤1:点击新增按钮,新建一个请求

步骤2:按照【接口信息-登录接口】把对应的数据进行填写。

步骤3:检查响应数据的正确性,同时可以进行保存到对应的测试集。

三. Postman常用场景
在我们使用Postman在日常接口测试中最核心、最常用的功能。下面将为你详细解释每一个场景,并提供具体的操作步骤。
3.1 环境变量
环境变量概述
一般情况下,我们的项目会在不同的环境中进行开发、测试和上线,例如:
1. 开发环境 - 供开发人员本地开发和调试。
2. 测试环境 - 供测试人员进行功能、集成测试。
3. 生产环境 - 对用户提供的线上正式环境。
那么,它们这些环境之间的差异主要体现在基础URL不同,例如:
1. 开发环境: http://dev-api.xxx.com
2. 测试环境: http://test-api.xxx.com
3. 生产环境: http://novel.hctestedu.com
所以环境变量通过将变化的部分“抽取”出来,实现 “一套脚本,多环境运行”。那么,在Postman中我们是如何操作的呢?
实操:添加环境变量步骤
如下是对应的操作步骤:
步骤1:创建环境
• 点击 Postman 左上角的 Environments 侧边栏(或通过右上角的下拉菜单管理)。
• 点击 + 按钮,创建一个新环境,例如命名为 读书屋生产环境。
在变量列表中,添加你需要的变量。例如:
• url: http://novel.hctestedu.com


步骤2:在请求中使用环境变量
在任何可以输入内容的地方(URL, Params, Headers, Body),使用双花括号 {{变量名}} 语法来引用变量。

步骤3:切换环境,最后能正常的发送请求即可。
当你需要切换到测试环境时,你只需:在 Postman 右上角的下拉菜单中,选择对应的环境即可。
3.2 断言
断言概述
像我们之前去发送请求, 还需要通过肉眼的方式去进行数据的校验准确性,所以我们在自动化当中通过断言去验证接口响应是否符合预期。如下图:
• 前置脚本:在发送请求之前做的操作脚本,比如生成数据。
• 后置脚本:在发送请求之后做的操作脚本,比如断言。

实操:断言场景
如下常用的断言方式:
1. 状态码断言
2. 响应正文断言
3. 响应头断言
4. 响应时间断言
简单方法:

状态码断言
对响应结果中的状态码进行验证,判断状态码是否可以为多个值
语法:
1 pm.test("显示标题", function () {
2 pm.expect(pm.response.code).to.be.oneOf([200,202]);
3 });
含义:
pm.response.code:实际结果,获取响应码
[200,202]
设置的预期结果
案例:

响应正文断言-包含
对响应结果中的响应正文进行验证,判断返回的响应正文是否包含指定的字符串
语法:
1 pm.test("显示标题", function () {
2 pm.expect(pm.response.text()).to.include("string_you_want_to_search");
3 });
含义:
pm.response.text():实际结果,获取响应体文本格式的所有内容 "string_you_want_to_search":设置的预期结果
案例:

响应正文断言-某个字段
对响应结果中的响应正文中的某个字段的值进行判断,这种方式可以让判断更为准确。
语法:
1 pm.test("Your test name", function () {
2 var jsonData = pm.response.json();
3 pm.expect(jsonData.value).to.eql("ex");
4 });
含义:
jsonData.value:实际结果,获取的响应结果中的某个节点值
ex:设置的预期结果
案例:

响应时间断言
对接口请求花费的时间进行判断,在一定程度上可以反馈系统的性能情况。
语法:
1 pm.test("Response time is less than 200ms", function () {
2 pm.expect(pm.response.responseTime).to.be.below(200);
3 });
含义:
pm.response.responseTime:实际结果,获取响应时间
200:设置的预期结果
案例:

3.3 接口关联
接口关联是指将一个接口的响应数据提取出来,作为另一个接口的请求参数。
案例:先登录成功,查看当前用户的信息。
步骤1:在第一个接口中提取数据,并且【发送】请求
在 Scripts—Post-response 标签页中,不仅写断言,还可以提取数据并保存到环境变量或全局变量中。
1 // 解析响应JSON
2 const responseJson = pm.response.json();
3 // 将 token 保存到全局变量中
4 pm.globals.set("token",responseJson.data.token);
如图:

步骤2:检查变量是否写入

步骤3:在第二个接口的请求参数中(如 URL、Headers、Body),使用 {{变量名}} 语法引用保存的变量。
接口信息:
• 简介:获取用户的信息
• 地址:/user/userInfo
• 类型:GET
• 状态码:200
• 请求头:
1 Authorization: String (对应用户的token)
• 返回接口格式:
1 ├─ code: String
2 ├─ msg: String
3 └─ data: Object
4 ├─ id: Null
5 ├─ username: String
6 ├─ password: Null
7 ├─ nickName: String
8 ├─ userPhoto: Null
9 ├─ userSex: String
10 ├─ accountBalance: String
11 ├─ status: Null
12 ├─ createTime: Null
13 └─ updateTime: Null
如图:

3.4 数据驱动
数据驱动测试允许你使用外部数据文件(如 CSV、JSON)为同一个接口提供多组测试数据,并批量运行。
案例:多组用例去进行测试登录接口。
步骤1:准备数据文件,CSV 文件示例 (test_data.csv):
1 username,password,expected
2 15096268001,123456,SUCCESS
3 15096268001,888888,手机号或密码错误!
4 ,123456,用户名不能为空!
步骤2:在请求的 URL、Body 等处,使用数据文件中的变量名。

步骤3:编写动态断言
在 Scripts—Post-response 标签页中标签页中,使用数据文件中的 expected 字段来进行动态断言。
pm.test("Your test name", function () {
2 var jsonData = pm.response.json();
3 // 响应数据和文档中的字段对比:data.文档中的字段
4 pm.expect(jsonData.msg).to.eql(data.expected);
5 });
图示:`注意要保存`

步骤4:运行集合并选择数据文件
选择对应的测试集的 Collections—> Run。

选择你的接口同时点击 Select File 上传你的 test_data.csv 文件。

Postman 则会为数据文件中的每一行数据运行一次接口请求。

四. Postman高级应用-生成测试报告
Postman生成报告的基础是通过Newman,它可以允许直接在终端或命令行中运行 Postman 集合从而实现生成测试报告。
操作步骤如下:
步骤1:准备集合和环境
• 导出你的集合和环境变量为 JSON 文件。
集合:点击集合右边的 ... -> Export -> 选择 Collection v2.1 格式 -> 导出为 1-读书屋生产环境.postman_collection.json。
环境:点击环境眼睛图标 -> 点击环境名称 -> Export -> 导出为 读书屋生产环境.postman_environment.json。

步骤2:安装 Newman
• 前置条件:确保你的系统已安装 Node.js(https://nodejs.cn/download/)。
• 打开终端/命令提示符,全局安装 Newman:npm install -g newman
如图:


步骤3:安装 Newman 报告插件
Newman 本身只提供 CLI 输出,要生成美观的 HTML 报告,需要安装对应的报告器。
如下:
1 npm install -g newman-reporter-html
第4步:运行 Newman 并生成报告
使用 newman run 命令来执行你的集合。
基础命令:newman run 测试集合的Json
如图:

带环境和环境变量,生成 HTML 报告的完整命令:
1 newman run 1-读书屋项目案例.postman_collection.json -e 读书屋生产环境.postman_environment.json -d user.csv -r html --reporter-html-export NewmanBasicReport.html
命令参数解释:
• run [collection文件]: 指定要运行的集合文件。
• -e [environment文件]: 指定要使用的环境变量文件。
• -r [reporter名称]: 指定报告器,如 cli, html, htmlextra, json 等。
• -d [数据源名称]: 指定数据驱动的数据源。
• --reporter-htmlextra-export [报告路径]: 指定 HTML 报告的生成路径和文件名。
如图:

总结
🎯 Postman的操作上还是比较通俗易通,只需要按照操作就能够掌握在接口自动化的常用的场景。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

1655

被折叠的 条评论
为什么被折叠?



