欢迎光临散文网 会员登陆 & 注册

PostMan 基础知识

2023-05-20 00:41 作者:大丫头胖  | 我要投稿

1. PostMan 介绍

        Postman 是一款支持 Http 协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 。无论是开发人员进行接口调试,还是测试人员做接口测试,Postman 都是我们的首选工具之一。

PostMan 应用程序图标

官方学习文档地址:https://learning.postman.com/docs/introduction/overview/

Postman Echo APIs 学习地址:https://postman-echo.com


2. Postman Mock-Server 搭建

背景:因为接口测试依赖后端平台(Server),但是受环境限制,并没有这个后端平台(Server)可以使用,所以现在需要使用 PostMan 的 Mock-Server 功能模拟(Mock)一个后端平台(Server)


Mocking with examples(通过样例创建模拟服务)

模拟服务(Mock Server)搭建过程中用到了许多后续需要学习的概念,例如 Request、Collection、Example、Response、Variable、Environment,这些概念在后续的内容中都会介绍,这里可以不用太在意,按照如下步骤完成搭建就可以。

Step 1: Send a request创建一个请求,作为后续创建 Mock Server 接口请求基本参照。

Step 2: Save the request to a collection将请求保存至一个用例集(Collections),因为后续需要基于用例集创建 Mock Server。

Step 3: Save a response as an example将此次请求和响应(Response)数据保存成一个样例,一定要注意,样例(Example)里面保存了请求地址,参数,响应状态码,响应体等 HTTP 协议数据,因为可以为一个请求(Request )创建多个(Example)样例,每个样例(Example)请求参数和响应结果可以不一致,同样,Mock Server 会根据请求数据的不同,返回对应的数据。

Step 4: Create a mock server for the collection为用例集(Collection)创建 Mock Server。创建用例集模拟(Mock)服务的时候,建议同时创建一个模拟(Mock)环境(Environment)。当然,如果用例中并没有用到变量(Variable),也就没办法创建对应的模拟环境(Environment)。

Step 5: Send a request to the mock server,修改环境(Environment)或者直接复制 Mock-Server 的访问地址(RUL)。

如果上述文字的内容阅读和理解有那么一点点困难,可以参考如下视频。


3. HTTP 协议基本概念


4. 发送第一个请求

        PostMan 软件已经安装完成,后端服务也已经通过 Mock Server 配置好,接下来的事情就是了解 PostMan 软件的基本功能和 HTTP 协议相关的基本概念。

打开 Postman 并尝试以下操作:

发送第一个请求


在此示例中,Postman 充当客户端应用程序并与 后端接口服务器通信。以下是点击 Send 时发生的情况:

PostMan 请求响应示意图


5. 选择请求方法

默认情况下,Postman 将选择GET新请求的方法。GET方法通常用于从 API 检索数据。可以使用多种其他方法将数据发送到待测试接口,包括以下最常见的选项。

竞赛题目中会明确给出待测试接口的请求方法,只需要按照要求选择相应的方法即可。


6. 构造请求参数

① URL 参数

可以使用 URL 字段和 “参数” 选项卡随请求发送路径和查询参数。

URL 请求参数构建


② Body 参数

当需要添加或更新结构化数据时,您都需要发送带有请求的正文数据。例如,如果您要发送将新客户添加到数据库的请求,您可能会在 JSON 中包含客户详细信息。通常,会将正文数据与PUTPOSTPATCH请求一起使用。

Postman 中的 Body 选项卡允许指定需要随请求一起发送的数据。可以发送各种不同类型的正文数据以适合带测试接口。


如果要发送 Body 数据,请确保选择了正确的请求头(Content-Type)以指示接口可正确处理接收到的数据的内容类型。


③ Content-Type 请求头格式

Content-Type 的格式有四种:分别是 application/x-www-form-urlencoded(这也是默认格式)application/json、text/xml 以及 multipart/form-data 格式。


7. 用例集 - Collections

Collections集合:也就是将多个接口请求可以放在一起,并管理起来。


8. 断言 - Assert

断言主要是在 Test 操作框内进行设置,使用 JavaScript 语言编写,断言的结果在下方响应内容的 TestResult 内。


PostMan Test 


① 响应状态码断言-Status

② 响应正文断言-Contains String

③ 响应正文断言-Json Value Check


④ 断言响应正文等于字符串 -Response body : is equal to a string or Object

说明:响应正文必须等于某个字符串或者 JSON 对象。


⑤ 响应头断言-Response headers:Content-Type header check


9. PostMan 变量

        变量能够在 Postman 中存储和重用值。通过将值存储为变量,可以在整个集合、环境、请求和测试脚本中引用它。


① 变量范围

Postman 支持不同范围的变量,允许用户针对各种开发、测试和协作任务定制处理。Postman 中的作用域与请求运行的不同上下文相关,不同的变量作用域适用于不同的任务。按照优先级从低到高的顺序分别是:global(全局)、collection(用例集)、environment(环境)、data(数据)和 local(局部)。

② 定义全局变量

定义全局变量

③ 定义环境变量

一个变量只能属于一个环境,在某个环境下变量不可以重复定义;在环境与环境之间可以定义重复的变量;一个环境变量可以包含多个环境变量;

定义环境变量

④ 在脚本中定义变量

m.globals用于定义全局变量。

pm.environment 用于在当前选择的环境中定义一个环境变量。


⑤ 使用变量

可以使用双花括号来引用整个 Postman 中的变量。例如,要在请求授权设置中引用名为 “用户名” 的变量,可以使用以下语法,并在名称周围加上双花括号:

当运行请求时,Postman 将解析变量并将其替换为当前值。例如,您可以有一个引用变量的请求 URL,如下所示:

可以在请求 URL、参数、标头、授权、正文和标头预设中使用变量。

使用变量


⑥ 在脚本中使用变量

可以使用表示范围级别的对象和方法来检索脚本中变量的当前值.get



10. PostMan 中的脚本编码

Postman 包含一个基于 Node.js 的强大运行时,允许您向请求和集合添加动态行为。这允许您编写 API 测试、构建可以包含动态参数的请求、在请求之间传递数据等等。

可以添加 JavaScript 代码以在流程中的 2 个事件期间执行:

  1. 在将请求发送到服务器之前,在 Pre-request Script 选项卡下编写 前置脚本

  2. 收到响应后,在 Test 选项卡下的测试脚本(后置脚本)。

脚本的执行顺序,在 Postman 中,单个请求的脚本执行顺序如下所示:前置请求 -> 发送请求 -> 响应返回 -> 测试脚本(后置脚本)。

PostMan 脚本请求执行过程


11. 编写请求前置脚本

请求前置脚本的使用场景:在请求url中需要使用随机数或时间戳;需要对敏感数据进行加密。

前置脚本编写举例:


12. PostMan 关联

Postman关联:后一个接口的请求需要 依赖 前一个接口的响应数据,一般通过全局变量或者环境变量来进行参数在接口之间的传递。

1. 接口 1 返回响应数据之后(Tests 标签),将相应数据写入到全局变量 token 中。

2. 接口 2 请求发送之前,将全局变量 token 写入到请求数据中(前置脚本 Pre-request Scrip 标签)或者直接在请求参数、请求体或者请求头中使用。


13. 批量执行用例集

双击用例集 ->  点击 Run 按钮,打开 Runner 组件,设置相关属性即可

① 执行次数 ② 每次迭代请求的间隔时间 ③ 请求数据

批量执行测试用例集


14. 参数化和数据驱动

① 数据驱动

执行测试用例的过程,本质上是执行的不同数据,不同输入输出的过程。所以,在计算机中,我们可以使用预先设定好的数据文件,来执行测试用例,实现覆盖测试点。

② 参数化概念

请求参数中,不写实际的值,而是写成 {{变量名}} 的形式,就是参数化。

③ 具体流程


14. Cookie 管理

Cookie 是由访问过的网站提供给您的一个基于文本的小型文件,可以帮助您识别到该站点。使用 cookie 可以导航到网站上的不同网页或在以后返回到该网站维护状态信息。


① Cookie 鉴权与状态维护


② Cookie 管理

Cookies 管理





PostMan 基础知识的评论 (共 条)

分享到微博请遵守国家法律