【Postman】入门到精通

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


一. 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%免费】

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值