温馨提示×

Ubuntu PostmanAPI测试

小樊
38
2025-12-31 21:36:44
栏目: 智能运维

Ubuntu 上使用 Postman 进行 API 测试

一 安装 Postman

  • 使用 Snap(推荐):sudo snap install postman --classic
  • 使用 APT 仓库:
    • wget -qO - https://dl.postman.co/postman.gpg | sudo apt-key add -
    • echo “deb https://dl.postman.co/debian $(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/postman.list
    • sudo apt update && sudo apt install postman
  • 使用 Flatpak:
    • sudo apt update && sudo apt install flatpak
    • flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    • flatpak install flathub com.postman.Postman
    • 启动:flatpak run com.postman.Postman
  • 其他方式:下载 AppImage,赋予执行权限并运行;或下载 tar.gz 解压至 /opt 并创建桌面快捷方式。

二 快速开始 API 测试

  • 创建请求:新建请求,选择 GET/POST/PUT/DELETE 等方法,填写 URL;在 Params 添加查询参数。
  • 设置请求头与认证:在 Headers 添加如 Content-Type: application/json;在 Authorization 选择 Bearer Token/Basic Auth/OAuth 2.0 等。
  • 设置请求体:在 Body 选择 raw-JSONform-datax-www-form-urlencodedbinary 等格式。
  • 发送与查看:点击 Send,在下方查看 Status/Time/Headers/Body/Cookies 等响应信息。

三 断言与自动化测试

  • 编写 Tests 断言示例:
    • 验证状态码:pm.test(“Status code is 200”, () => pm.response.to.have.status(200));
    • 验证响应体字段:pm.test(“Has token”, () => { const json = pm.response.json(); pm.expect(json).to.have.property(‘access_token’); });
  • 组织与运行:将相关请求保存为 Collection,使用 Collection Runner 批量运行并查看报告。
  • 预请求脚本:在 Pre-request Script 中生成时间戳、签名或动态参数,供请求使用。

四 变量环境与持续集成

  • 环境变量与全局变量:在环境管理器中创建 Development/Staging/Production 环境,定义如 {{base_url}}{{api_key}};在请求中以 {{变量名}} 引用,便于多环境切换。
  • 命令行与 CI/CD:使用 Newman 运行集合
    • 安装:npm install -g newman
    • 运行:newman run your_collection.json
    • 可结合 Jenkins/GitHub Actions/GitLab CI 在流水线中执行,并生成报告。
  • 监控与协作:使用 Monitor 定期执行集合;通过 Team Workspace 共享集合与环境,并生成文档。

五 常见问题与排障

  • 启动或运行异常:优先避免用 sudo 启动 Postman,防止文件权限问题。
  • 依赖缺失:如遇缺少 libgconf-2.so.4,执行:sudo apt install libgconf2-4。
  • 代理配置:在 Settings → Proxy 中配置 HTTP/HTTPS 代理;如代理需要认证,勾选 Proxy authentication 并填写凭据。
  • 手动安装后快捷方式:创建 /usr/share/applications/postman.desktop,示例关键项:
    • Exec=/opt/Postman/Postman
    • Icon=/opt/Postman/app/resources/app/assets/icon.png
    • Categories=Development;

0