Postman提供了多种安装方式,推荐使用YUM仓库(系统原生支持)或Snap包(快速便捷):
YUM仓库安装(适用于CentOS 7/8):
# 导入Postman官方GPG密钥
sudo rpm --import https://dl.pstmn.io/release/key.asc
# 添加Postman YUM仓库
sudo tee /etc/yum.repos.d/postman.repo <<EOL
[postman]
name=Postman Repository
baseurl=https://dl.pstmn.io/download/linux
enabled=1
gpgcheck=1
gpgkey=https://dl.pstmn.io/release/key.asc
EOL
# 安装Postman
sudo yum install -y postman
安装完成后,通过postman命令启动应用。
Snap包安装(适用于所有CentOS版本):
# 安装Snapd(若未安装)
sudo yum install -y snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
# 安装Postman(--classic表示无需沙盒)
sudo snap install postman --classic
启动Postman:postman。
创建测试集合:
打开Postman,点击左上角New→Collection,输入集合名称(如API_Integration_Tests),点击Create。将需要测试的API请求添加到集合中(如GET /users、POST /login),便于统一管理。
配置环境变量:
点击Postman右上角Environment图标→Add,创建环境(如Test),添加变量(如base_url={{base_url}},值为https://api.example.com)。在请求URL中使用变量(如{{base_url}}/users),实现不同环境(开发、测试、生产)的快速切换。
在每个请求的Tests标签页中,编写JavaScript断言脚本,验证API响应是否符合预期。常见断言示例:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Response contains success message", function () {
pm.expect(pm.response.text()).to.include("success");
});
pm.test("User ID is valid", function () {
const jsonData = pm.response.json();
pm.expect(jsonData.user.id).to.be.a("number").and.greaterThan(0);
});
将编写好的集合保存为JSON文件(如api_tests.json),便于后续通过Newman运行。Newman是Postman的命令行工具,用于在终端中运行测试集合。
node -v、npm -v),然后执行:sudo npm install -g newman
newman run /path/to/api_tests.json -e /path/to/environment.json
其中,-e参数指定环境文件(可选,用于加载环境变量)。以Jenkins为例,将Postman测试集成到CI/CD流水线中:
创建Shell脚本(如run_postman.sh):
#!/bin/bash
COLLECTION_PATH="/path/to/api_tests.json"
ENV_PATH="/path/to/environment.json"
# 运行Newman并输出结果到报告文件
newman run $COLLECTION_PATH -e $ENV_PATH --reporters cli,json --reporter-json-export newman-report.json
# 检查测试结果,若失败则终止流水线
if grep -q "\"failures\": 0" newman-report.json; then
echo "All tests passed!"
exit 0
else
echo "Tests failed!"
exit 1
fi
赋予执行权限:chmod +x run_postman.sh。
配置Jenkins Job:
在Jenkins的流水线脚本中添加Execute shell步骤,调用上述脚本:
pipeline {
agent any
stages {
stage('Run Postman Tests') {
steps {
sh './run_postman.sh'
}
}
}
}
每次代码提交或部署时,Jenkins会自动触发Postman测试,确保API质量。
Newman支持生成多种格式的报告(如HTML、JUnit),便于团队查看测试结果。例如,生成HTML报告:
newman run /path/to/api_tests.json -e /path/to/environment.json --reporters html --reporter-html-export postman-report.html
生成的postman-report.html文件可在浏览器中打开,查看详细的测试结果(包括通过/失败的用例、响应时间等)。
通过以上步骤,即可在CentOS中实现Postman的集成测试,并与CI/CD流程无缝对接,确保API的稳定性和可靠性。