Linux Postman如何自定义脚本
导读:Linux下Postman自定义脚本的实现方法 Postman在Linux系统上的自定义脚本功能主要通过内置JavaScript脚本(Pre-request Script、Tests)和Newman命令行工具实现,覆盖请求前处理、响应验证、...
Linux下Postman自定义脚本的实现方法
Postman在Linux系统上的自定义脚本功能主要通过内置JavaScript脚本(Pre-request Script、Tests)和Newman命令行工具实现,覆盖请求前处理、响应验证、环境变量管理等场景。
1. 准备工作:安装Postman与Newman
在Linux(如Ubuntu)上,需先安装Postman桌面应用和Newman命令行工具:
- 安装Postman:下载Linux安装包(.deb/.rpm),通过包管理器安装(如
sudo dpkg -i Postman-linux-x64-*.deb
)。 - 安装Newman:通过npm(Node.js包管理器)全局安装,命令:
npm install -g newman
。
2. 编写请求级自定义脚本
Postman的脚本分为Pre-request Script(请求发送前执行)和Tests(响应接收后执行),均用于扩展请求逻辑。
(1)Pre-request Script:请求前处理
用于设置环境变量、请求头、初始化数据等。例如:
// 设置环境变量(供后续请求使用)
pm.environment.set("api_key", "123456-abcdef");
pm.environment.set("base_url", "https://api.example.com");
// 动态添加请求头(如Authorization)
pm.request.headers.add({
key: "Authorization", value: `Bearer ${
pm.environment.get("api_key")}
`}
);
pm.request.headers.add({
key: "Content-Type", value: "application/json"}
);
以上脚本会在请求发送前设置API密钥和请求头,避免硬编码。
(2)Tests:响应后验证
用于验证响应状态、提取数据、存储结果等。例如:
// 断言响应状态码为200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
}
);
// 解析JSON响应并提取token
const jsonData = pm.response.json();
pm.environment.set("auth_token", jsonData.token);
// 断言响应体包含特定字段
pm.test("Response contains user email", function () {
pm.expect(jsonData.data.email).to.be.a("string");
}
);
以上脚本会验证响应状态,并提取token存入环境变量,供后续请求使用。
3. 使用Newman批量执行脚本
若需批量运行Postman集合(包含多个请求及脚本),可使用Newman命令行工具:
- 导出集合与环境变量:在Postman中选中集合,点击“Export”,保存为JSON文件(如
my_collection.json
);同理导出环境变量(如my_env.json
)。 - 执行集合:通过Newman运行集合,指定环境变量文件,命令:
newman run my_collection.json --environment my_env.json
- 高级选项:添加迭代次数(
--iteration-count 5
)、输出报告(--reporters cli,json
)等,例如:
以上命令会运行集合5次,并生成JSON格式的报告。newman run my_collection.json --environment my_env.json --iteration-count 5 --reporters cli,json --reporter-json-export results.json
4. 常用脚本API汇总
Postman提供了丰富的JavaScript API,用于处理请求与响应:
- 变量操作:
pm.environment.set()
(设置环境变量)、pm.environment.get()
(获取环境变量)、pm.variables.get()
(获取当前变量)。 - 请求操作:
pm.request.headers.add()
(添加请求头)、pm.request.url.addQueryParams()
(添加查询参数)。 - 响应操作:
pm.response.json()
(解析JSON响应)、pm.response.code
(获取状态码)、pm.response.headers.get()
(获取响应头)。 - 断言:
pm.test()
(定义测试用例)、pm.expect()
(Chai断言库,如pm.expect(value).to.eql(expected)
)。
注意事项
- 脚本需使用JavaScript语法,避免语法错误。
- 环境变量需提前创建(在Postman的“Environment”选项卡中),或在脚本中动态设置。
- Newman执行集合时,需确保集合文件路径正确,且环境变量文件包含所需变量。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux Postman如何自定义脚本
本文地址: https://pptw.com/jishu/725433.html