首页主机资讯CentOS下Postman如何使用脚本功能

CentOS下Postman如何使用脚本功能

时间2025-10-13 13:29:03发布访客分类主机资讯浏览875
导读:CentOS下Postman脚本功能使用指南 一、Postman脚本的核心类型 Postman的脚本功能分为两类,分别作用于请求生命周期的不同阶段: 预请求脚本(Pre-request Script):在请求发送到服务器前执行,常用于动态...

CentOS下Postman脚本功能使用指南

一、Postman脚本的核心类型

Postman的脚本功能分为两类,分别作用于请求生命周期的不同阶段:

  • 预请求脚本(Pre-request Script):在请求发送到服务器前执行,常用于动态生成数据(如时间戳、认证令牌)、设置环境变量,为请求做前置准备。
  • 测试脚本(Tests):在收到服务器响应后执行,用于验证响应状态码、响应体内容(如JSON字段值)、性能指标(如响应时间),确保API返回符合预期。

二、基础脚本编写步骤

1. 打开脚本编辑界面

在Postman中创建或选中一个请求,点击顶部选项卡中的Pre-request Script(预请求脚本)或Tests(测试脚本),即可进入对应的脚本编辑窗口。

2. 编写预请求脚本(示例)

若需在请求头中添加动态时间戳,可使用以下代码:

// 生成当前时间戳(ISO格式)并设置为环境变量
const timestamp = new Date().toISOString();
    
pm.environment.set("timestampHeader", timestamp);

发送请求时,{ { timestampHeader} } 会自动替换为脚本生成的值(如2025-10-13T08:00:00.000Z)。

3. 编写测试脚本(示例)

若需验证响应状态码为200且响应体包含"user_id"字段,可使用以下代码:

// 检查响应状态码是否为200
pm.test("Status code is 200", function () {
    
    pm.response.to.have.status(200);

}
    );


// 解析响应体为JSON,检查是否包含"user_id"
pm.test("Response contains user_id", function () {
    
    const jsonData = pm.response.json();
    
    pm.expect(jsonData).to.have.property("user_id");

}
    );
    

发送请求后,Postman会在Tests标签页显示测试结果(通过/失败)。

三、环境变量与脚本交互

Postman的脚本可通过pm.environment对象与环境变量交互,实现数据的动态传递:

  • 设置环境变量(预请求脚本中):
    // 设置环境变量(需提前创建环境)
    pm.environment.set("authToken", "abc123xyz");
        
    
  • 获取环境变量(测试脚本或其他请求中):
    // 获取环境变量并用于后续请求
    const token = pm.environment.get("authToken");
    
    pm.request.headers.add({
    key: "Authorization", value: `Bearer ${
    token}
    `}
        );
    
    
  • 注意事项:使用环境变量前,需在Postman的Environments(环境)中创建并激活对应的环境(如"Dev"、“Prod”)。

四、常见应用场景示例

1. 用户注册与登录流程自动化

通过预请求脚本生成测试数据,测试脚本验证登录逻辑并保存token,后续请求使用该token访问受保护接口:

// 预请求脚本:生成随机邮箱并发送注册请求
const email = `user${
Math.floor(Math.random() * 1000)}
    @example.com`;
    
const password = "password123";

pm.sendRequest({

    url: pm.environment.get("apiBaseUrl") + "/register",
    method: "POST",
    body: JSON.stringify({
email, password}
),
    headers: {
"Content-Type": "application/json"}

}
    , (error, response) =>
 {
    
    pm.expect(response.status).to.eql(200);

}
    );


// 测试脚本:发送登录请求并保存token
pm.test("Login successfully", function () {
    
    const response = pm.response;
    
    pm.expect(response.status).to.eql(200);
    
    const token = response.json().token;
    
    pm.environment.set("authToken", token);
 // 保存token到环境变量
}
    );
    

2. 动态参数化请求

通过预请求脚本生成随机参数,避免重复使用同一数据:

// 预请求脚本:生成随机用户ID
const userId = Math.floor(Math.random() * 1000);
    
pm.environment.set("currentUserId", userId);


// 请求URL中使用环境变量
// 例如:GET /users/{
{
currentUserId}
}

3. 验证响应数据完整性

通过测试脚本检查响应体中的关键字段是否存在或符合预期:

// 测试脚本:验证商品列表接口返回的商品数量
pm.test("Product list is not empty", function () {
    
    const products = pm.response.json();
    
    pm.expect(products.length).to.be.above(0);

}
    );
    

五、调试与优化技巧

  • 查看脚本日志:使用console.log()输出调试信息,日志会显示在Postman的Console(控制台)中(点击Postman右上角的"View"→"Show Postman Console"开启)。
  • 使用代码片段:Postman编辑器右侧提供常用代码片段(如"Status code: Code is 200"、“Response body: JSON value check”),可直接点击添加到脚本中。
  • 处理异步请求:若需发送异步请求(如等待某个接口返回后再发送下一个请求),可使用pm.sendRequest的回调函数,确保请求顺序正确。

通过以上步骤,可在CentOS下充分利用Postman的脚本功能,实现API测试的自动化、动态化和数据驱动化,提升测试效率。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS下Postman如何使用脚本功能
本文地址: https://pptw.com/jishu/724662.html
CentOS中Postman如何进行数据加密 CentOS系统Postman无法启动怎么回事

游客 回复需填写必要信息