在Linux系统中,Postman的自动化测试主要依赖Newman(Postman的命令行工具)实现,结合Postman的集合、环境变量等功能,可完成接口自动化测试、集成CI/CD等流程。以下是具体步骤:
在Linux系统上,需先安装Node.js/npm(Newman的依赖)、Postman客户端(可选,用于创建集合)和Newman命令行工具。
sudo apt-get update
sudo apt-get install nodejs npm
postman.tar.gz),解压后添加可执行文件到PATH:wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
tar -xzf postman.tar.gz -C /opt
sudo ln -s /opt/Postman/Postman /usr/local/bin/postman
npm install -g newman
以上步骤完成后,即可通过命令行使用Newman运行Postman测试。
Postman的集合(Collection)是自动化测试的核心,用于组织多个接口请求;环境变量(Environment)用于管理不同环境的配置(如开发、测试环境)。
my-api-tests.json)。baseUrl=https://api.example.com、apiKey=123456),点击“Save”。导出环境文件为JSON(如environment.json)。测试脚本用于验证接口响应的正确性,需在Postman的“Tests”标签页编写(也可通过Newman的JavaScript API扩展)。常见断言示例如下:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
pm.test("Content-Type is JSON", function () {
pm.response.to.have.header("Content-Type", "application/json");
});
pm.test("Response body has correct data", function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("userId", 1);
pm.expect(jsonData.title).to.eql("delectus aut autem");
});
// 在Pre-request Script中设置变量(发送请求前执行)
pm.environment.set("userId", 1);
// 在Tests中获取变量(请求后执行)
var userId = pm.environment.get("userId");
pm.test("User ID matches", function () {
pm.expect(userId).to.eql(1);
});
以上脚本可直接在Postman中编写,导出集合时会一并保存。
通过Newman命令行工具运行Postman集合,支持指定集合文件、环境文件、报告格式等参数。
newman run path/to/my-api-tests.json
newman run path/to/my-api-tests.json -e path/to/environment.json
newman-reporter-html插件(生成HTML报告),并添加--reporters html参数:npm install -g newman-reporter-html
newman run path/to/my-api-tests.json -e path/to/environment.json -r html,cli --reporter-html-export ./reports/report.html
执行后,会在./reports目录生成HTML报告,方便查看测试结果。将Newman测试集成到CI/CD流程(如Jenkins、GitLab CI),实现代码提交后自动运行测试。以Jenkins为例:
pipeline {
agent any
stages {
stage('Install Newman') {
steps {
sh 'npm install -g newman'
}
}
stage('Run Postman Tests') {
steps {
sh 'newman run path/to/my-api-tests.json -e path/to/environment.json --reporters cli,html --reporter-html-export ./reports/report.html'
}
}
}
}
每次代码提交后,Jenkins会自动执行Newman命令,运行测试并生成报告。通过以上步骤,即可在Linux环境下利用Postman完成API自动化测试,并实现测试结果的可视化与持续集成。