1. 准备工作:安装必要工具
sudo apt-get update && sudo apt-get install -y nodejs npm(Ubuntu/Debian);sudo mv Postman /opt移动到系统目录,并创建符号链接sudo ln -s /opt/Postman/Postman /usr/local/bin/postman,实现终端直接运行postman命令。npm install -g newman。安装完成后,运行newman --version验证是否成功。2. 创建Postman测试资源
Content-Type: application/json)、Body(如JSON格式数据)。点击“Save”保存集合为JSON文件(如my_api_tests.json)。pm.test("Status code is 200", function () { pm.expect(pm.response.status).to.be.ok; });pm.test("Response contains expected data", function () { var jsonData = pm.response.json(); pm.expect(jsonData.message).to.eql("Success"); });pm.test("Extract token", function () { var jsonData = pm.response.json(); pm.environment.set("auth_token", jsonData.token); });。base_url: https://api.example.com),点击“Export”导出为JSON文件(如environment.json)。3. 运行自动化测试
newman run ./my_api_tests.json --environment ./environment.json。命令执行后,终端会输出测试结果的摘要(如通过/失败的用例数、每个用例的执行详情)。run_tests.js文件,内容如下:const newman = require('newman');
newman.run({
collection: './my_api_tests.json',
environment: './environment.json',
reporters: 'cli' // 控制台输出报告(可选:html、json等)
}, function (err, summary) {
if (err) { console.error('测试失败:', err); return; }
console.log('测试完成:', summary.run.stats);
});
运行脚本:node run_tests.js。4. 集成到CI/CD系统(实现自动化)
newman run ./my_api_tests.json --environment ./environment.json。每次代码提交或定时触发构建时,Jenkins会自动运行Postman测试,并将结果输出到构建日志中。.gitlab-ci.yml文件,添加以下步骤:stages:
- test
api_test:
stage: test
script:
- npm install -g newman
- newman run ./my_api_tests.json --environment ./environment.json
推送代码到GitLab仓库时,CI流程会自动执行Postman测试。5. 高级技巧(提升测试效率)
{{variable_name}}占位符引用变量(如{{base_url}}/endpoint),避免硬编码。变量可通过环境文件、命令行参数(--env-var)或脚本动态设置。--iteration-data参数实现。例如,创建testdata.csv文件(包含username,password列),运行命令:newman run ./my_api_tests.json --environment ./environment.json --iteration-data ./testdata.csv,Newman会遍历数据文件中的每一行,执行测试用例。