在CentOS上实现Postman自动化测试,需先安装Postman客户端(用于创建测试集合和脚本)和Newman命令行工具(用于自动化运行测试)。
sudo yum install -y nodejs npm
wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
sudo tar -xzf postman.tar.gz -C /opt
sudo ln -s /opt/Postman/Postman /usr/bin/postman # 创建全局符号链接
sudo npm install -g newman
Postman测试集合(Collection)是自动化测试的核心,用于组织和管理多个API请求。
My-API-Tests)。测试脚本用于验证API响应是否符合预期,需在请求的Tests标签页中编写JavaScript代码。
// 验证状态码
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// 验证响应体包含指定字符串
pm.test("Response body contains 'success'", function () {
pm.expect(pm.response.text()).to.include("success");
});
// 提取响应中的token并存入环境变量(用于后续请求鉴权)
var jsonData = pm.response.json();
pm.environment.set("auth_token", jsonData.token);
// 设置请求头中的时间戳
pm.request.headers.add({
key: "timestamp",
value: new Date().toISOString()
});
// 从环境变量获取token并设置到请求头
var token = pm.environment.get("auth_token");
pm.request.headers.add({
key: "Authorization",
value: "Bearer " + token
});
通过Newman命令行工具运行Postman集合,实现自动化测试。
newman run /path/to/My-API-Tests.json
auth_token),需同时指定环境文件:newman run /path/to/My-API-Tests.json -e /path/to/My-Environment.json
--reporters参数生成HTML或JUnit格式报告,便于分析结果:newman run /path/to/My-API-Tests.json -e /path/to/My-Environment.json --reporters html --reporter-html-export report.html
将Postman自动化测试集成到CI/CD(如Jenkins、GitLab CI),实现代码提交后自动运行测试。
pipeline {
agent any
stages {
stage('Run Postman Tests') {
steps {
sh 'newman run /path/to/My-API-Tests.json -e /path/to/My-Environment.json --reporters junit --reporter-junit-export test-results.xml'
}
}
}
post {
always {
junit 'test-results.xml' // 发布测试报告
}
}
}
.gitlab-ci.yml中添加类似步骤:stages:
- test
postman_tests:
stage: test
script:
- npm install -g newman
- newman run /path/to/My-API-Tests.json -e /path/to/My-Environment.json
{{variable_name}}语法引用变量,避免硬编码。{{variable}}引用数据,实现多组数据测试。sudo chown -R $USER:$USER /usr/local/lib/node_modules调整权限。通过以上步骤,可在CentOS上实现Postman自动化测试,并与CI/CD流程集成,确保API的稳定性和可靠性。