Linux下Postman自定义脚本的实现方法
Postman在Linux系统上的自定义脚本功能主要通过内置JavaScript脚本(Pre-request Script、Tests)和Newman命令行工具实现,覆盖请求前处理、响应验证、环境变量管理等场景。
在Linux(如Ubuntu)上,需先安装Postman桌面应用和Newman命令行工具:
sudo dpkg -i Postman-linux-x64-*.deb)。npm install -g newman。Postman的脚本分为Pre-request Script(请求发送前执行)和Tests(响应接收后执行),均用于扩展请求逻辑。
用于设置环境变量、请求头、初始化数据等。例如:
// 设置环境变量(供后续请求使用)
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密钥和请求头,避免硬编码。
用于验证响应状态、提取数据、存储结果等。例如:
// 断言响应状态码为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存入环境变量,供后续请求使用。
若需批量运行Postman集合(包含多个请求及脚本),可使用Newman命令行工具:
my_collection.json);同理导出环境变量(如my_env.json)。newman run my_collection.json --environment my_env.json
--iteration-count 5)、输出报告(--reporters cli,json)等,例如:newman run my_collection.json --environment my_env.json --iteration-count 5 --reporters cli,json --reporter-json-export results.json
以上命令会运行集合5次,并生成JSON格式的报告。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))。