Postman在Ubuntu上的API测试技巧
sudo snap install postman --classic,无需手动配置依赖,安装后可直接在应用菜单中找到图标。/usr/share/applications/postman.desktop文件,添加以下内容(需替换实际路径):[Desktop Entry]
Encoding=UTF-8
Name=Postman
Exec=/opt/apps/Postman/Postman
Icon=/opt/apps/Postman/app/resources/app/assets/icon.png
Terminal=false
Type=Application
Categories=Development;
保存后运行sudo update-desktop-database更新桌面数据库,即可在应用菜单中快速启动。postman命令即可启动应用,无需每次点击图标。FormData或Query String Parameters,复制内容后,在Postman的Params标签中点击Bulk Edit,粘贴内容即可自动生成参数键值对。Raw格式的URL或查询参数,粘贴到Postman的对应位置,节省手动输入时间。Key-Value对,按Ctrl+C复制,回到当前请求的Headers标签,按Ctrl+V粘贴,避免重复输入相同头信息。Copy as cURL,在Postman的Import窗口粘贴cURL命令,自动生成对应的请求(包括方法、URL、头信息、请求体等)。Environments按钮,选择New Environment,命名(如Development),在Initial Value和Current Value列添加变量(如base_url=https://api.example.com)。{{base_url}}/users),切换环境时只需在顶部环境选择器中选择对应环境,变量值会自动替换。Headers选项卡的Presets下拉菜单中,点击Manage Presets,添加常用Key-Value对(如Authorization: Bearer {{token}}),命名为Auth Preset。其他请求需要时,直接点击Presets选择该预设,快速添加公共头信息。Pre-request Script标签中编写JavaScript代码,用于生成动态参数或设置环境变量。例如,生成随机字符串作为trace_id:const randomString = Math.random().toString(36).substring(2, 10);
pm.request.url.query.set("trace_id", randomString);
pm.environment.set("trace_id", randomString); // 存储到环境变量,供后续请求使用
Tests标签中编写断言脚本,验证响应结果。常用断言包括:
pm.test("Status code is 200", function () { pm.response.to.have.status(200); });pm.test("Response contains success", function () { const responseJson = pm.response.json(); pm.expect(responseJson.message).to.eql("success"); });chai后,可使用expect语法(如expect(responseJson.data).to.be.an('array'))。pm.iterationData.get()读取外部JSON/CSV文件中的数据(需在Collection Runner中配置数据文件),实现批量测试。例如,从data.json中读取用户信息,循环发送请求并验证结果。New按钮选择Collection,命名(如User API),将相关请求添加到集合中。可通过Add Folder创建子文件夹(如Login、User Management),进一步分类管理请求,方便查找和维护。Run collection按钮,打开Collection Runner。选择环境、迭代次数(如10次)、数据文件(如data.json),点击Run即可批量发送请求。执行完成后,可在Test Results面板查看每个请求的测试结果(如通过/失败数量)。Settings->General中,开启Proxy开关,设置HTTP和HTTPS代理地址(如localhost:8888)。若代理需要认证,勾选Proxy authentication,输入用户名和密码,用于调试通过代理访问的API。Console(点击底部View->Show Postman Console)查看请求和响应的详细日志(包括请求头、请求体、响应头、响应体),帮助定位问题。也可配合浏览器的开发者工具或抓包工具(如Fiddler),对比请求差异。sudo npm install -g newman),将Postman集合导出为JSON文件(如collection.json),在终端运行newman run collection.json即可执行集合中的请求。结合Jenkins等CI工具,可将测试脚本集成到流水线中,实现每次代码提交后自动测试API。pipeline {
agent any
stages {
stage('Run Postman Tests') {
steps {
sh 'newman run /path/to/collection.json --reporters cli,html --reporter-html-export /path/to/report.html'
}
}
}
}
执行后,Jenkins会生成HTML测试报告,方便查看测试结果。