温馨提示×

centos中postman API测试指南

小樊
45
2025-12-07 11:18:13
栏目: 智能运维

CentOS 中 Postman API 测试指南

一 安装与启动

  • 方法一 下载安装包
    1. 下载 Linux 64 位包并解压到系统目录(示例:/usr/local/postman
      wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
      sudo mkdir -p /usr/local/postman
      sudo tar -zxf postman.tar.gz --strip-components=1 -C /usr/local/postman/
      
    2. 创建软链接,便于命令行启动
      sudo ln -s /usr/local/postman/Postman/Postman /usr/bin/postman
      
    3. 可选:创建桌面启动器(GUI 菜单中可见)
      sudo tee /usr/share/applications/postman.desktop >/dev/null <<'EOF'
      [Desktop Entry]
      Encoding=UTF-8
      Name=Postman
      GenericName=API Tools
      Comment=Postman
      Exec=/usr/bin/postman
      Terminal=false
      Type=Application
      Icon=/usr/local/postman/app/resources/app/assets/icon.png
      StartupNotify=true
      Categories=Development;
      EOF
      sudo chmod +x /usr/share/applications/postman.desktop
      
    4. 启动
      postman
      
  • 方法二 使用 Snap(适用于 CentOS 8+
    sudo yum install -y snapd
    sudo systemctl enable --now snapd.socket
    sudo ln -s /var/lib/snapd/snap /snap
    sudo snap install postman --classic
    postman
    
  • 常见问题
    • 老版本 CentOS 7 启动报缺少共享库时安装依赖:
      sudo yum install -y libXScrnSaver
      

二 基础使用

  • 创建请求:点击左上角 New → HTTP Request,选择方法(如 GET/POST),在 URL 输入地址,点击 Send 查看状态码、响应头与响应体。
  • 设置请求头:在 Headers 添加键值对,例如 Content-Type: application/json
  • 发送请求体:在 Body → raw → JSON 输入数据,例如:
    {
      "name": "John Doe",
      "email": "john.doe@example.com"
    }
    
  • 组织与复用:将请求保存到 Collections,便于分类管理与批量运行。

三 环境变量与脚本

  • 创建环境:在 Postman 中 Manage Environments → Add,添加变量如 baseUrl=https://api.example.com;请求中使用 {{baseUrl}} 引用。
  • 预请求脚本 Pre-request:动态设置变量,例如:
    pm.environment.set("timestamp", new Date().toISOString())
    
  • 测试脚本 Tests:断言响应结果,例如:
    pm.test("Status code is 200", () => pm.response.to.have.status(200))
    pm.test("Body has name", () => {
      const json = pm.response.json()
      pm.expect(json.name).to.eql("John Doe")
    })
    
  • 变量作用域:合理使用 Environment/Globals/Collection 变量,避免硬编码,便于多环境切换与团队协作。

四 自动化测试与 CI 集成

  • 安装 Newman(Postman 命令行工具)
    sudo yum install -y nodejs npm
    sudo npm install -g newman
    
  • 运行集合
    • 基本运行
      newman run collection.json -e environment.json
      
    • 生成报告(需全局安装 reporter)
      sudo npm install -g newman-reporter-html
      newman run collection.json -e environment.json -r html,cli --reporter-html-export report.html
      
  • CI/CD 示例(Jenkins/GitLab CI 等)
    • 在流水线中执行 Newman 并基于退出码判断结果:
      newman run collection.json -e environment.json --reporter-cli-no-assertions
      if [ $? -ne 0 ]; then exit 1; fi
      
  • 进阶:将 Newman 常驻运行或定时执行,可用 systemd 管理(示例服务单元与启停命令见下文“排错与优化”)。

五 排错与优化

  • 命令行启动失败:确认软链接路径与可执行文件一致,例如
    which postman
    ls -l /usr/bin/postman
    
  • 老系统依赖缺失:安装 libXScrnSaver 后重试。
  • 图形界面无法启动或无图标:检查 /usr/share/applications/postman.desktopExec/Icon 路径是否与实际安装路径一致,必要时修正后执行
    sudo update-desktop-database
    
  • 无头环境自动化:优先使用 Newman 执行集合与生成报告,便于在服务器与 CI 中运行。
  • 使用 Newman 的 systemd 服务示例(将路径替换为你的集合与环境)
    sudo tee /etc/systemd/system/postman-runner.service >/dev/null <<'EOF'
    [Unit]
    Description=Newman Postman Collection Runner
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/usr/local/bin/newman run /opt/postman-tests/collection.json -e /opt/postman-tests/env.json -r cli
    Restart=on-failure
    User=your_username
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    sudo systemctl daemon-reload
    sudo systemctl enable --now postman-runner.service
    sudo systemctl status postman-runner.service
    

0