一、前提准备:安装Postman与Newman
在CentOS中使用Postman脚本自动化测试,需先安装Postman桌面应用(用于编写脚本)和Newman命令行工具(用于自动化运行脚本)。
/opt),并创建符号链接以便终端直接调用:sudo tar -xzf Postman-linux-x64-*.tar.gz -C /opt
sudo ln -s /opt/Postman/Postman /usr/bin/postman
安装完成后,终端输入postman即可启动应用。sudo yum install -y nodejs npm # 安装Node.js和npm
sudo npm install -g newman # 全局安装Newman
安装完成后,通过newman --version验证是否成功。二、Postman脚本类型与编写
Postman脚本主要分为两类,分别作用于请求生命周期的不同阶段:
const token = pm.environment.get("auth_token"); // 获取环境变量
pm.request.headers.add({key: "Authorization", value: `Bearer ${token}`}); // 添加请求头
console.log("Pre-request script executed, token set.");
pm.test("Status code is 200", function() {
pm.expect(pm.response.code).to.equal(200); // 断言状态码
});
pm.test("Response time is less than 200ms", function() {
pm.expect(pm.response.responseTime).to.be.below(200); // 断言响应时间
});
更多常用函数:pm.response.to.have.jsonBody()(验证JSON响应体)、pm.globals.set()(设置全局变量)、pm.expect().to.eql()(深度断言)。三、脚本执行:通过Newman运行集合
collection.json);若使用了环境变量,同样导出环境文件(如environment.json)。newman run /path/to/collection.json -e /path/to/environment.json
示例输出会显示每个请求的执行结果(如状态码、断言是否通过)。四、自动化扩展:Shell脚本与Systemd服务
run_postman.sh),封装Newman命令,实现一键运行:#!/bin/bash
COLLECTION_FILE="/path/to/collection.json"
ENVIRONMENT_FILE="/path/to/environment.json"
newman run "$COLLECTION_FILE" -e "$ENVIRONMENT_FILE"
赋予执行权限并运行:chmod +x run_postman.sh
./run_postman.sh
/etc/systemd/system/postman.service:[Unit]
Description=Newman Postman Collection Runner
After=network.target
[Service]
ExecStart=/usr/local/bin/newman run /path/to/collection.json -e /path/to/environment.json
Restart=always
User=your_username
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable postman.service
sudo systemctl start postman.service
sudo systemctl status postman.service # 查看状态
五、注意事项
pm.environment.get()或pm.globals.get()获取。