在Linux上使用Postman脚本的完整流程
在Linux系统上使用Postman脚本,需先安装以下工具:
sudo dpkg -i Postman-linux-x64-*.deb
);sudo apt install nodejs npm
);npm install -g newman
)。Postman脚本分为预请求脚本(请求发送前执行,用于设置变量、参数化请求)和测试脚本(请求响应后执行,用于验证结果、处理数据),均使用JavaScript编写。
用于在请求发送前准备数据,例如设置环境变量、生成签名等。
示例:设置一个全局变量authToken
,用于后续接口的身份验证。
// 在请求的"Pre-request Script"标签页编写 pm.globals.set("authToken", "Bearer " + CryptoJS.MD5("username:password").toString());
说明:通过pm.globals.set()
方法设置全局变量,可在后续请求的URL、Headers或Body中引用(如{{authToken}}
)。
用于验证响应数据的正确性,是API测试的核心。常用断言包括状态码、响应时间、正文内容等。
示例:验证登录接口的响应状态码为200,且返回的token
字段存在。
// 在请求的"Tests"标签页编写 pm.test("Status code is 200", function () { pm.response.to.have.status(200); // 断言状态码为200 }); pm.test("Response contains token", function () { const jsonData = pm.response.json(); // 解析响应正文为JSON pm.expect(jsonData.token).to.exist; // 断言token字段存在 });
说明:使用pm.test()
定义测试用例,pm.response.to
提供链式断言方法(如have.status
、have.jsonBody
),pm.expect()
用于复杂断言(如字段存在性、值匹配)。
使用Newman工具批量执行Postman集合(JSON格式),适合CI/CD流程。
基本命令:
newman run /path/to/your/collection.json
常用选项:
-e /path/to/environment.json
:指定环境变量文件(如包含baseUrl
、apiVersion
等变量);-g /path/to/globals.json
:指定全局变量文件(如包含authToken
等变量);-r htmlextra,json
:指定报告格式(如htmlextra
生成可视化HTML报告,json
生成原始JSON报告);--iteration-count 5
:指定迭代次数(如循环执行5次)。newman run /path/to/collection.json -e /path/to/environment.json -g /path/to/globals.json -r htmlextra,json --iteration-count 3
说明:集合文件需通过Postman导出(点击集合右上角的三个点→Export),环境变量和全局变量文件同理。
pm.environment.set()
设置,pm.environment.get()
获取(仅当前环境有效);pm.globals.set()
设置,pm.globals.get()
获取(全局有效);pm.collectionVariables.set()
设置,pm.collectionVariables.get()
获取(仅当前集合有效)。pm.sendRequest()
发送异步HTTP请求,例如获取用户信息后再获取订单信息。pm.sendRequest("GET", "https://api.example.com/users/1", function (err, response) { if (!err) { const userId = response.json().id; pm.sendRequest("GET", `https://api.example.com/orders?userId=${userId}`, function (err, orderResponse) { console.log(orderResponse.json()); }); } });
console.log()
输出变量值到Postman控制台(点击顶部导航栏的View→Show Postman Console);