Ubuntu下Postman自动化测试实现指南
一、Postman安装(Ubuntu环境)
Postman支持多种方式在Ubuntu上安装,推荐使用Snap包管理器(简单快捷)或APT包管理器(官方源,稳定性高):
-
Snap安装(推荐)
打开终端,执行以下命令:sudo snap install postman --classic安装完成后,通过终端输入
postman即可启动应用。 -
APT安装(官方源)
- 导入Postman GPG密钥并添加APT仓库:
wget -qO - https://dl.postman.co/postman.gpg | sudo apt-key add - echo "deb https://dl.postman.co/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/postman.list - 更新包列表并安装:
sudo apt update && sudo apt install postman
安装完成后,通过应用菜单或终端输入
postman启动。 - 导入Postman GPG密钥并添加APT仓库:
二、基础准备:创建集合与环境
-
创建测试集合
集合是组织多个API请求的容器,便于批量执行测试。- 打开Postman,点击左侧“Collections”→右上角“New Collection”。
- 输入集合名称(如“API_Automation”),点击“Create”。
-
配置环境变量
环境变量用于管理不同环境(开发、测试、生产)的配置(如URL、API Key),避免硬编码。- 点击右上角齿轮图标→“Manage Environments”→“Add”。
- 输入环境名称(如“Test_Env”),添加变量(如
baseUrl=https://api.example.com),点击“Add”。
三、编写自动化测试脚本
测试脚本分为Pre-request Script(请求前执行,用于准备数据)和Tests(响应后执行,用于验证结果),均使用JavaScript编写。
1. Pre-request Script(请求前脚本)
常用于设置动态变量、生成Token或添加请求头。
示例:生成一个随机用户ID并存入环境变量,供后续请求使用:
// 生成随机用户ID(1-1000)
const userId = Math.floor(Math.random() * 1000) + 1;
// 存入环境变量
pm.environment.set("userId", userId);
console.log("Generated userId:", userId);
2. Tests(测试脚本)
用于验证API响应是否符合预期,常用Chai断言库(Postman内置)。
示例:验证GET请求的响应状态码、响应时间及数据字段:
// 验证状态码为200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// 验证响应时间小于500ms
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
// 解析响应体(JSON格式)并验证字段
pm.test("Response contains valid user data", function () {
const jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("id");
pm.expect(jsonData.id).to.eql(pm.environment.get("userId")); // 验证返回的ID与生成的ID一致
pm.expect(jsonData).to.have.property("name").that.is.a("string");
});
四、运行自动化测试
-
使用Postman Runner(图形界面)
- 选中目标集合,点击右侧“…”→“Run collection”。
- 在“Collection Runner”窗口中,选择:
- Environment:选择配置的环境(如“Test_Env”);
- Iterations:迭代次数(如10次,批量测试);
- Data File(可选):上传CSV/JSON数据文件(用于数据驱动测试,如测试不同用户ID);
- 点击“Run”,查看实时执行结果(包括通过/失败的断言、响应时间等)。
-
使用Newman(命令行工具,集成CI/CD)
Newman是Postman的命令行工具,可将测试集合导出为JSON文件并通过命令行执行,适合自动化流水线。- 安装Newman:
npm install -g newman - 导出Postman集合:在Postman中选中集合→点击“…”→“Export”→选择“Collection Format v2.1”→保存为
api_collection.json。 - 执行测试:
参数说明:newman run api_collection.json --environment Test_Env.json --reporters cli,json --reporter-json-export newman_report.json--environment:指定环境文件(需提前导出);--reporters:生成报告(cli为终端输出,json为文件报告);--reporter-json-export:JSON报告保存路径。
- 安装Newman:
五、高级技巧
-
数据驱动测试
通过CSV/JSON文件批量提供测试数据,实现不同输入值的自动化测试。- 准备数据文件(
data.csv):userId,title 1,delectus aut autem 2,quis ut nam facilis 3,fugiat veniam minus - 在Collection Runner中选择“Data”→上传文件,脚本中通过
pm.iterationData.get("columnName")获取数据:pm.test("Check userId and title", function () { const jsonData = pm.response.json(); pm.expect(jsonData.userId).to.eql(parseInt(pm.iterationData.get("userId"))); pm.expect(jsonData.title).to.eql(pm.iterationData.get("title")); });
- 准备数据文件(
-
测试结果报告
- Postman内置报告:Runner执行后会显示通过/失败的断言数量及详情;
- Newman报告:支持HTML、JSON、JUnit等多种格式,便于集成到CI/CD工具(如Jenkins)中展示。
通过以上步骤,可在Ubuntu环境下实现Postman自动化测试,覆盖从单接口到多接口、从手动到集成的全流程自动化需求。
以上就是关于“Ubuntu下Postman的自动化测试怎么实现”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm