在 Linux 版 Postman 上进行移动端测试
一 核心思路
- 使用 Postman 的内置代理 Capture requests来捕获移动端发出的 HTTP/HTTPS 流量,便于调试接口、查看请求与响应细节。
- 先在 Postman 中启动代理并获取本机 IP 与 端口,再在手机 Wi‑Fi 上配置 HTTP 代理指向该地址与端口,手机流量即可被 Postman 记录到“History”。
- 注意限制:对启用了 HSTS 的网站,Postman 本机应用无法通过 HTTPS 捕获请求,这类流量将不可见。
二 操作步骤
-
在 Linux 上安装并启动 Postman
- 推荐方式:使用 Snap 安装
- 命令:sudo apt update && sudo apt install snapd
- 安装:sudo snap install postman
- 启动:命令行输入 postman
- 备选方式:手动下载 Linux 64 包并解压到 /opt,创建软链(如:sudo ln -s /opt/Postman/Postman /usr/local/bin/postman),随后在应用菜单或命令行启动 Postman。
-
在 Postman 中配置代理
- 打开 Postman,点击顶部工具栏的捕获请求图标(Capture requests),开启代理。
- 记下代理的端口(默认常用为 5555),将“Target”设为 History(便于直接查看历史请求)。
-
配置手机 Wi‑Fi 代理
- 确保手机与运行 Postman 的 Linux 电脑处于同一局域网。
- 在手机的 Wi‑Fi 代理设置中,将代理类型设为 手动:
- 服务器/主机名:填入电脑的 IP 地址(Linux 可用命令如 ip a 或 nmcli 查看,如 192.168.1.x)
- 端口:填入 Postman 代理的端口(如 5555)
- 保存后,手机上发起的 HTTP/HTTPS 请求将被 Postman 捕获并显示在“History”。
-
查看与分析流量
- 在 Postman 左侧 History 中查看被捕获的请求,检查 Headers、Body、Cookies、Status 等。
- 需要重放或调试时,可将请求保存为 Collection,在“Tests”标签页用 JavaScript 编写断言,例如:
- pm.test(“Status code is 200”, () => pm.response.to.have.status(200));
- pm.test(“Response has token”, () => pm.expect(pm.response.json()).to.have.property(‘token’));
- 如需批量回归,可在集合运行器中运行并查看报告。
三 常见问题与限制
- 无法捕获 HTTPS:目标站点启用 HSTS 时,Postman 本机应用无法通过 HTTPS 解密并捕获请求;可改用 HTTP 接口进行调试,或在客户端关闭证书固定(仅测试环境)。
- 抓不到包或延迟高:确认手机与电脑在同一 Wi‑Fi,关闭电脑防火墙对代理端口的限制,确保代理端口未被占用;必要时更换端口重试。
- 安全性提示:代理仅用于测试环境,避免在生产网络或含敏感数据的 App 上使用;抓包会涉及明文传输与证书信任,请遵循合规要求。
四 进阶与替代方案
- 自动化回归:将捕获并整理后的请求保存为 Collection,使用 Newman 在 Linux 终端或 CI/CD 中批量运行,命令示例:newman run collection.json -e environment.json。
- 更专业的移动端自动化:若需要覆盖 iOS/Android 的 UI 与操作链路,建议使用 Appium 等移动自动化框架;Postman 更适合作为 API 调试与接口层测试工具。