当前位置: 首页 > news >正文

Postman 接口测试

文章目录

    • 基本步骤:
    • 应用案例
      • 应用案例背景
      • 步骤 1: 创建登录请求
      • 步骤 2: 发送请求并检查响应
      • 步骤 3: 编写测试脚本
      • 步骤 4: 创建 Collection 并保存请求
      • 步骤 5: 设置环境变量
      • 步骤 6: 运行测试集合
      • 步骤 7: 使用环境变量进行多环境测试
      • 步骤 8: 编写更复杂的测试脚本
      • 步骤 9: 创建完整的 API 测试流程
      • 步骤 10: 自动化测试与 CI/CD 集成
      • 示例:在 GitHub Actions 中集成 Postman 测试

基本步骤:

Postman 是一个非常流行的 API 开发和测试工具,它允许开发者创建、发送 HTTP 请求,并查看响应。使用 Postman 进行接口测试可以确保你的 API 按照预期工作,并且可以方便地进行自动化测试。

以下是如何使用 Postman 进行接口测试的基本步骤:

  1. 安装 Postman
    如果你还没有安装 Postman,可以从其官方网站下载并安装适用于 Windows、macOS 或 Linux 的客户端。

  2. 创建新的请求
    打开 Postman 应用后,你可以点击“新建”按钮来创建一个新的请求。选择请求类型(GET, POST, PUT, DELETE 等),并输入你要测试的 API URL。

  3. 设置请求参数

    • 对于 GET 请求,你可以设置查询参数(Query Parameters)。
    • 对于 POST 请求,你可以设置表单数据(Form Data),或者在 Body 中选择 raw 并输入 JSON 数据等。
    • 根据需要,还可以添加 Headers(如 Content-Type)、Cookies、认证信息(如 OAuth)等。
  4. 发送请求
    配置好请求后,点击“发送”按钮执行请求。Postman 会显示服务器的响应,包括状态码、响应头以及响应体。

  5. 检查响应
    检查响应是否符合预期。例如,如果你发送了一个成功的 GET 请求,你应该会收到一个 200 OK 的状态码和期望的数据格式。

  6. 编写测试脚本(可选):
    如果你需要进行更详细的测试,可以使用 Postman 的内置脚本功能来自动验证响应。例如,你可以写一个简单的 JavaScript 脚本来检查特定字段是否存在或其值是否正确。

  7. 保存和组织请求
    Postman 允许你保存请求到 Collection 中,这样你就可以随时重新运行这些请求。Collections 还可以用来组织相关的请求到不同的环境中。

  8. 环境变量与全局变量
    使用环境变量和全局变量可以帮助你在不同的环境中切换配置,比如开发环境、测试环境和生产环境。

  9. 自动化测试与 CI/CD 集成
    Postman 支持通过 Newman 工具进行命令行接口测试,这可以集成到持续集成/持续部署(CI/CD)管道中,实现自动化测试。

  10. 分享与协作
    如果你在团队中工作,Postman 可以让你共享 Collections 和 Environments,便于团队成员之间的协作。

通过上述步骤,你可以有效地使用 Postman 来测试你的 API 接口,确保它们在各种情况下都能正常工作。

应用案例

下面是一个关于如何使用 Postman 进行一个综合性 API 测试的详细应用案例。这个案例将包括 API 的基本功能测试,以及如何使用 Postman 的一些高级特性来提高测试效率。

应用案例背景

假设你正在为一个在线商店的后端 API 进行测试,该 API 包括了用户注册、登录、浏览商品、购物车管理等功能。我们将重点测试用户登录功能,并确保用户能够成功登录并获取访问令牌。

步骤 1: 创建登录请求

  1. 打开 Postman 并创建一个新的请求

    • 点击“New”按钮,选择“Request”,然后给这个请求命名,例如 Login User
  2. 设置请求类型为 POST

    • 在请求类型下拉框中选择 POST
  3. 指定 API 地址

    • 输入 API 的 URL,例如 https://api.example.com/login
  4. 设置请求体

    • 在 Body 部分选择 raw 并从下拉菜单中选择 JSON。
    • 输入登录所需的 JSON 数据,例如:
      {"email": "test@example.com","password": "securepassword"
      }
      
  5. 添加请求头部

    • 在 Headers 部分添加 Content-Type: application/json

步骤 2: 发送请求并检查响应

  1. 点击 Send 按钮

    • 观察响应的状态码,期望的结果是 200 OK 或其他表示成功的状态码。
  2. 检查响应体

    • 查看返回的 JSON 数据,确认包含 access_token 字段,表明登录成功。

步骤 3: 编写测试脚本

  1. 启用预请求脚本和测试脚本

    • 在请求的 Setup & Pre-request Script 部分,你可以编写预请求脚本来准备测试环境。
    • 在 Tests 部分,编写测试脚本来验证响应是否符合预期。
  2. 编写测试脚本示例

    • 在 Tests 部分,输入如下 JavaScript 代码:
      pm.test("Status code is 200", function () {pm.response.to.have.status(200);
      });pm.test("Response has a token", function () {var jsonData = pm.response.json();pm.expect(jsonData).to.have.property('access_token');
      });
      

步骤 4: 创建 Collection 并保存请求

  1. 创建 Collection

    • 点击“Create New Collection”按钮,并给它命名,例如 User Management API
  2. 保存请求到 Collection

    • Login User 请求拖动到新创建的 Collection 中。

步骤 5: 设置环境变量

  1. 设置环境变量

    • 在 Postman 的侧边栏选择“Environments”。
    • 添加两个变量 url_baseemail,分别用于存放基础 URL 和测试用户的邮箱地址。
  2. 在请求中使用环境变量

    • 修改请求 URL 为 {{url_base}}/login,并在请求体中使用 {{email}}

步骤 6: 运行测试集合

  1. 创建请求集合

    • 将所有相关请求放入一个 Collection 中。
  2. 运行 Collection Runner

    • 使用 Collection Runner 功能来连续运行多个请求,以测试整个流程。

通过以上步骤,你可以有效地对你的 API 进行测试,并确保其功能按照预期工作。此外,通过使用环境变量和测试脚本,你可以使测试过程更加灵活和自动化。

我们继续扩展这个案例,使其更为完整和实用。接下来,我们可以探讨如何进一步利用 Postman 的高级特性来进行更复杂的测试场景,例如使用环境变量进行多环境测试、编写更复杂的测试脚本、以及如何将测试集成到 CI/CD 流程中。

步骤 7: 使用环境变量进行多环境测试

假设你有三个不同的环境:开发环境 (dev)、测试环境 (test) 和生产环境 (prod)。每个环境可能有不同的基础 URL。

  1. 定义环境

    • 在 Postman 的环境管理器中创建三个环境:devtestprod
    • 为每个环境设置相应的基础 URL,例如:
      • dev: https://dev-api.example.com
      • test: https://test-api.example.com
      • prod: https://api.example.com
  2. 使用环境变量

    • 修改 Login User 请求中的 URL,使用环境变量 url_base,例如:
      {{url_base}}/login
      
  3. 切换环境

    • 在 Postman 的顶部选择不同的环境,测试不同环境下的 API 行为。

步骤 8: 编写更复杂的测试脚本

为了进一步验证 API 的行为,你可以编写更复杂的测试脚本来处理多种情况,例如错误响应、超时等。

  1. 增加更多的测试断言

    • 继续在 Tests 部分添加更多测试,例如验证响应时间、检查特定的响应字段等:
    pm.test("Response time is less than 2000ms", function () {pm.expect(pm.response.responseTime).to.be.below(2000);
    });pm.test("Token is not empty", function () {var jsonData = pm.response.json();pm.expect(jsonData.access_token).to.not.be.empty;
    });
    
  2. 使用 Postman 的内置函数

    • 利用 Postman 提供的各种内置函数,如 pm.environment.set() 来存储响应中的某些值,以便后续请求使用。

步骤 9: 创建完整的 API 测试流程

现在让我们创建一个完整的 API 测试流程,包括用户登录、获取用户信息、浏览商品列表、添加商品到购物车等。

  1. 创建请求集合

    • User Management API Collection 中添加多个请求,如 Get User Info, Browse Products, Add to Cart 等。
  2. 编写测试脚本

    • 对每个请求编写相应的测试脚本,确保每个 API 能够正确响应。

步骤 10: 自动化测试与 CI/CD 集成

为了使测试过程更加高效和自动化,可以将 Postman 的测试集合集成到 CI/CD 流程中。

  1. 导出测试集合

    • 在 Postman 中导出测试集合为 JSON 文件。
  2. 使用 Newman 工具

    • 安装 Newman,这是一个 Postman 集合的命令行运行器。
    • 在 CI/CD 管道中使用 Newman 运行导出的测试集合。
  3. 配置 CI/CD 管道

    • 在 Jenkins、GitLab CI、GitHub Actions 等 CI/CD 工具中配置任务,使用 Newman 运行测试集合,并将结果发布到报告工具中(如 HTML 报告)。

示例:在 GitHub Actions 中集成 Postman 测试

以下是使用 GitHub Actions 集成 Postman 测试的一个简单示例:

name: Run Postman Collectionon:push:branches:- main # 或者你想要触发的分支名jobs:run-collection:runs-on: ubuntu-lateststeps:- name: Checkout Repositoryuses: actions/checkout@v2- name: Install Newmanrun: npm install -g newman- name: Run Postman Collectionrun: newman run path/to/collection.json -r html --reporter-html-export=path/to/report.html- name: Upload Reportuses: actions/upload-artifact@v2with:name: test-reportpath: path/to/report.html

通过以上步骤,你可以构建一个完整的 API 测试流程,并将其集成到持续集成过程中,确保每次代码更改后 API 仍然正常工作。

😍😍 海量H5小游戏、微信小游戏、Web casualgame源码😍😍
😍😍试玩地址: https://www.bojiogame.sg😍😍
😍看上哪一款,需要源码的csdn私信我😍

————————————————

​最后我们放松一下眼睛
在这里插入图片描述


http://www.mrgr.cn/news/53218.html

相关文章:

  • 去除视频水印的三种方法,有手就会
  • Vscode+Pycharm+Vue.js+WEUI+django火锅(7) 傍着Copliot战WEUI Picker
  • 1.1 C++语言基础面试问题
  • 试用cursor的简单的记录
  • 力扣困难题汇总
  • OQE-OPTICAL AND QUANTUM ELECTRONICS
  • 掌握高效工作汇报技巧:如何利用即时白板打造完美日报,提升职场影响力
  • C++简易日志系统:打造高效、线程安全的日志记录工具
  • D41【python 接口自动化学习】- python基础之函数
  • Linux系统下使用ncurses获取按键
  • GSM /3G/EPS/5G 的认证过程和算法、密钥
  • Linux -- 进程间通信、初始匿名管道
  • CAS详谈---无锁的锁机制
  • “两马”荣获上全球富豪榜,中国首富成谜
  • 百度智能云千帆 ModelBuilder 大模型服务及开发解读
  • SpringBoot使用SqlSessionFactory方式配置多数据源
  • python中的WEEKNUM(ISO周数获取)
  • Oracle 使用位图索引 Cost降低200倍! 探讨位图索引的利与弊
  • 传感器黑电平箝位(Sensor black level clamping)
  • Python 处理命令行参数