Postman 接口测试工具详解

简介: 在执行这些测试案例时,请确保遵循实际的API规范,并根据API的特定要求调整步骤和参数。

一、理论部分

1. 写在开始的话

在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而市场上有很多优秀的接口测试工具,比如SoapUI、Postman、JMeter、yapi等,能够高效地帮助后端开发人员独立进行接口测试。这里主要介绍如何使用Postman进行接口测试。

2. 简单了解一下Postman

Postman是一个接口测试工具,相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果,从而验证响应中的结果数据是否和预期值相匹配。Postman与浏览器的区别在于,它更直观地展示接口返回的结果,特别是JSON格式的数据。

二、工具应用

1. 新建接口

1.1 创建Collection集合

在开始一个项目时,为了便于组织和管理,可以将同属该项目的多个API放在一组里。首先需要新建一个Collection:New -> Collection。

1.2 创建请求

在Postman中,你可以通过点击左上角的“Send”按钮或使用快捷键(默认为Ctrl+Enter)发送请求。在弹出的窗口中,你可以填写请求的URL、请求方法(GET、POST等)、请求头和请求体等信息。

三、接口实例

1. POST请求

POST请求是用来发送数据的。例如,产品经理的PRD文档要求分配加工厂接口里新增加工厂ID字段,整数类型,非必填。测试人员需要打开Postman,填写接口信息,结合测试用例,组合变换参数信息后,查看返回的JSON数据与PRD是否一致。

以注册用户为例,测试人员可以在Postman中设置如下请求:


{
   
  "name": "小小",
  "password": "123456"
}

发送请求后,可以通过响应结果验证接口是否正确处理了注册信息。

2. GET请求

GET请求是用来获取数据的。例如,XX系统获取出库账单接口,测试人员需要打开Postman,填写接口信息,结合测试用例,组合变换参数信息后,查看返回的JSON数据与PRD是否一致。

以获取出库账单为例,测试人员可以在Postman中设置如下请求:

四、断言与测试

Postman支持对响应结果进行断言和测试。断言可以帮助你检查响应结果中的特定内容或值,如检查JSON数据中的某个字段是否符合预期。测试则可以对整个响应结果进行验证,如检查响应状态码是否为200。

在测试过程中,可以使用Postman的断言功能来验证响应结果。例如:

  • 断言状态码为200:

pm.test("Status code is 200", function () {
   
  pm.response.to.have.status(200);
});
  • 断言响应文本中包含特定字符串:

pm.test("Body matches string", function () {
   
  pm.expect(pm.response.text()).to.include("access_token");
});
```[^11^]

五、集合与环境

在Postman中,你可以将多个请求组织到一个集合中,方便管理和复用。此外,你还可以为集合设置不同的环境变量,以便在不同的环境下发送请求时使用不同的参数值。

在测试不同环境的API时,可以使用环境变量来管理不同环境的配置。例如:

  • 设置环境变量:

postman.setEnvironmentVariable("url", "http://192.168.1.21/oa/index.jsp");
  • 在请求中使用环境变量:

https://{
  {url}}/api/user/reg/
```[^11^]。

六、参数化与数据驱动测试

在Postman中,你可以使用参数化测试来复用测试用例,并通过数据驱动的方式传递不同的参数值。这样可以使你的测试用例更加灵活和健壮。

七、Mock服务器与挡板测试

Postman还支持Mock服务器和挡板测试功能。你可以使用Mock服务器模拟接口响应,以便在没有后端服务的情况下进行前端开发或测试。同时,挡板测试可以帮助你在开发过程中模拟接口请求和响应,以便更好地进行集成测试和调试。

相信你已经对Postman工具有了基本的了解和使用方法。在实际工作中,建议根据项目的需求和场景选择合适的接口测试方法和工具,以提高接口测试的效率和准确性。下面V 哥跟业务场景分讲解几个案例的使用。

八、使用案例

1. 用户注册接口测试

场景描述

测试用户是否可以成功注册到系统中。

步骤

  1. 创建一个新的Collection,命名为“用户注册测试”。
  2. 在Collection中创建一个新的POST请求。
  3. 设置URL为注册API的地址,例如:https://api.example.com/register
  4. 在Headers中添加Content-Type: application/json
  5. 在Body中使用raw格式,填入注册信息的JSON:
    {
         
      "username": "newuser",
      "password": "password123",
      "email": "newuser@example.com"
    }
    
  6. 发送请求并检查响应状态码是否为201。
  7. 使用断言检查返回的JSON中是否包含用户信息。

2. 用户登录接口测试

场景描述

测试用户是否可以使用正确的凭证登录系统。

步骤

  1. 创建一个新的GET或POST请求(取决于API设计)。
  2. 设置URL为登录API的地址,例如:https://api.example.com/login
  3. 如果是GET请求,添加查询参数usernamepassword
  4. 如果是POST请求,在Body中以JSON格式添加用户名和密码。
  5. 发送请求并检查响应状态码是否为200。
  6. 使用断言检查返回的JSON中是否包含token信息。

3. 商品列表查询接口测试

场景描述

测试系统是否能够返回正确的商品列表。

步骤

  1. 创建一个新的GET请求。
  2. 设置URL为商品列表API的地址,例如:https://api.example.com/products
  3. 添加可能的查询参数,如category=booksprice=100
  4. 发送请求并检查响应状态码是否为200。
  5. 使用断言检查返回的JSON数组长度是否正确。

4. 商品添加到购物车接口测试

场景描述

测试用户是否可以将商品添加到购物车。

步骤

  1. 确保用户已经登录并获取到token。
  2. 创建一个新的POST请求。
  3. 设置URL为添加到购物车API的地址,例如:https://api.example.com/cart/items
  4. 在Headers中添加Authorization: Bearer <token>
  5. 在Body中以JSON格式添加商品ID和数量。
  6. 发送请求并检查响应状态码是否为200。
  7. 使用断言检查返回的JSON中购物车是否包含添加的商品。

5. 文件上传接口测试

场景描述

测试用户是否可以上传文件到系统。

步骤

  1. 创建一个新的POST请求。
  2. 设置URL为文件上传API的地址,例如:https://api.example.com/upload
  3. 在Headers中添加Content-Type: multipart/form-data
  4. 在Body中选择form-data格式,并添加键值对,键为file,值为选择文件按钮。
  5. 附加其他必要的表单字段,如文件描述。
  6. 发送请求并检查响应状态码是否为200或201。
  7. 使用断言检查返回的JSON中是否包含文件上传成功的确认信息。

6. 商品下单接口测试

场景描述

测试用户是否可以成功下单购买商品。

步骤

  1. 确保用户已经登录并获取到token。
  2. 创建一个新的POST请求。
  3. 设置URL为下单API的地址,例如:https://api.example.com/orders
  4. 在Headers中添加Authorization: Bearer <token>
  5. 在Body中以JSON格式添加订单信息,包括购物车中的商品ID列表和数量。
  6. 发送请求并检查响应状态码是否为200或201。
  7. 使用断言检查返回的JSON中是否包含订单确认信息。

7. 用户信息更新接口测试

场景描述

测试用户是否可以更新自己的个人信息。

步骤

  1. 确保用户已经登录并获取到token。
  2. 创建一个新的PUT请求。
  3. 设置URL为用户信息更新API的地址,例如:https://api.example.com/user/profile
  4. 在Headers中添加Authorization: Bearer <token>Content-Type: application/json
  5. 在Body中以JSON格式添加新的用户信息。
  6. 发送请求并检查响应状态码是否为200。
  7. 使用断言检查返回的JSON中是否包含更新后的用户信息。

8. 订单状态查询接口测试

场景描述

测试用户是否可以查询到自己订单的当前状态。

步骤

  1. 确保用户已经登录并获取到token。
  2. 创建一个新的GET请求。
  3. 设置URL为订单状态查询API的地址,例如:https://api.example.com/orders/{orderId}
  4. 在Headers中添加Authorization: Bearer <token>
  5. 替换URL中的{orderId}为实际的订单ID。
  6. 发送请求并检查响应状态码是否为200。
  7. 使用断言检查返回的JSON中是否包含订单的正确状态信息。

在执行这些测试案例时,请确保遵循实际的API规范,并根据API的特定要求调整步骤和参数。

相关文章
|
2月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
2天前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
14天前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
198 11
|
3月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
732 23
|
5月前
|
数据可视化 测试技术 API
JMeter、Apipost 与 Postman 的 API 测试对比:为什么 APIPost 是更聪明的选择
API测试如同筹备一场晚宴,选对工具至关重要。JMeter功能强大但上手难,适合专业用户;Postman简单易用,但在复杂场景和团队协作中表现有限;而Apipost则是一款智能高效的“厨房神器”。它性能测试轻松、结果清晰、学习门槛低,并且能一键集成CI/CD流程。对于追求效率与便捷的团队而言,Apipost无疑是更优选择,让API测试如同五星大厨烹饪般丝滑流畅。
|
5月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
671 24
|
5月前
|
存储 前端开发 数据可视化
Postman vs. Apifox 用于 API 测试全面对比
寻找一款可靠的 API 测试工具?这份对比分析将深入探讨 Postman 和 Apifox 的功能和特性。了解哪款工具最适合您的 API 测试需求。
|
5月前
|
XML JSON 测试技术
如何使用 Postman 发送和测试 WebSocket
WebSocket 促进客户端和服务器之间通过单个持久连接进行实时、双向通信。 需要使用 Postman 建立 WebSocket 连接吗? 请查看我们简洁的循序渐进指南!
|
5月前
|
监控 安全 测试技术
选择Postman免费版还是付费版,进行 API 测试呢?
深入了解 Postman 免费版和付费版的细节,看看哪一个更适合您的 API 需求。
|
5月前
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
231 2