温馨提示×

Postman在CentOS上的自动化测试教程

小樊
36
2025-12-31 01:36:20
栏目: 智能运维

在 CentOS 上搭建 Postman 自动化测试环境

一 环境准备与安装

  • 安装依赖与下载
    • 安装 Node.js 与 npm(Newman 依赖):sudo yum install -y nodejs npm
    • 下载 Postman Linux 版本:wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
  • 解压与软链
    • 解压到 /opt:sudo tar -xzf postman.tar.gz -C /opt
    • 创建软链便于全局执行:sudo ln -s /opt/Postman/Postman /usr/bin/postman
  • 启动与桌面入口(可选)
    • 终端启动:输入 postman
    • 创建桌面文件:sudo vim /usr/share/applications/postman.desktop,内容示例:
      [Desktop Entry]
      Encoding=UTF-8
      Name=Postman
      Exec=/usr/bin/postman
      Icon=/opt/Postman/app/resources/app/assets/icon.png
      Terminal=false
      Type=Application
      Categories=Development;
      
    保存后赋予可执行权限:sudo chmod +x /usr/share/applications/postman.desktop

二 编写测试脚本与数据驱动

  • 基本概念
    • 在 Postman 的 Pre-request Script 中设置变量、签名、时间戳等;在 Tests 中编写 JavaScript 断言验证响应;通过 环境变量/全局变量 复用配置;使用 集合 Runner 批量运行请求。
  • 常用断言示例
    // 状态码
    pm.test("Status code is 200", () => pm.response.to.have.status(200));
    
    // 响应时间
    pm.test("Response time < 500ms", () => pm.expect(pm.response.responseTime).to.be.below(500));
    
    // 响应头
    pm.test("Content-Type is application/json", () =>
      pm.response.to.have.header("Content-Type", "application/json; charset=utf-8")
    );
    
    // 响应体字段
    pm.test("Response has userId", () => {
      const json = pm.response.json();
      pm.expect(json).to.have.property("userId");
    });
    
    // 保存变量供后续请求使用
    pm.environment.set("authToken", pm.response.json().token);
    
  • 数据驱动(CSV/JSON)
    • 数据集示例(CSV):
      username,password
      user1,pass1
      user2,pass2
      
    • 在集合 Runner 中选择数据文件,迭代执行;在脚本中用 pm.iterationData.get(“username”) 读取当前行数据,实现参数化。

三 使用 Newman 在服务器上运行自动化测试

  • 安装 Newman
    • 全局安装:npm install -g newman
  • 基本运行
    • 运行集合与环境:newman run collection.json --environment env.json
  • 生成报告
    • HTML 报告(需 newman-reporter-html):newman run collection.json -r cli,html --reporter-html-export report.html
    • JUnit 报告(便于 CI):newman run collection.json -r cli,junit --reporter-junit-export report.xml
  • 无头运行与持续集成
    • CentOS 服务器/CI 中直接执行 Newman 命令即可完成无界面批量测试;常见做法是将集合与环境导出为 JSON,在 Jenkins/GitHub Actions 中执行 Newman 并归档报告。

四 常见问题与实用建议

  • 找不到图标或启动器
    • 检查 Icon= 路径是否与实际安装路径一致;必要时使用 find /opt/Postman -name icon.png 定位图标后再写入 .desktop 文件。
  • 命令行找不到 postman
    • 确认软链路径正确:ls -l /usr/bin/postman;若不在 PATH,可临时添加:export PATH=$PATH:/opt/Postman
  • 集合/环境文件管理
    • 建议将 collection.jsonenv.json 纳入版本控制;在 CI 中用脚本下载或检出对应版本后执行 Newman。
  • 服务器无图形界面
    • 仅使用 Newman 执行测试,无需启动 Postman GUI;如需在服务器上偶尔使用 GUI,可通过 X11 转发VNC 方式运行 Postman。

0