ubuntu

Ubuntu中Postman如何使用脚本

小樊
44
2025-04-15 10:06:03
栏目: 智能运维

在Ubuntu中使用Postman脚本主要涉及到**前置脚本(Pre-request Script)测试脚本(Tests Script)**的使用。这些脚本可以帮助你在发送请求之前动态生成测试数据,以及在请求完成后进行验证。以下是详细步骤和示例:

前置脚本(Pre-request Script)

前置脚本在发送请求之前执行,通常用于生成动态数据。例如,你可以使用JavaScript生成随机字符串、随机整数或时间戳,并将它们设置为环境变量或全局变量。

// 生成10位随机字符串(字母+数字)
pm.environment.set("randomStr", Math.random().toString(36).substr(2, 10));

// 生成10位随机整数
pm.environment.set("randomNum", Math.floor(Math.random() * 1e10));

// 生成32位纯数字随机数
function generate32BitRandom() {
    let randomStr = '';
    for (let i = 0; i < 32; i++) {
        randomStr += Math.floor(Math.random() * 10);
    }
    return randomStr;
}
pm.environment.set("randomNum32", generate32BitRandom());

// 生成10位时间戳(秒级)
pm.globals.set("timestamp", Math.floor(Date.now() / 1000).toString());

测试脚本(Tests Script)

测试脚本在请求完成后执行,通常用于验证响应数据。你可以使用console.log()输出变量值,并进行断言验证。

// 打印变量值用于调试
console.log("\nTests 变量验证:");
console.log("randomStr =", pm.environment.get("randomStr"));
console.log("randomNum =", pm.environment.get("randomNum"));
console.log("timestamp =", pm.globals.get("timestamp"));

// 基础断言
pm.test("randomStr格式验证", () => {
    const str = pm.environment.get("randomStr");
    pm.expect(str).to.have.length(10);
    pm.expect(str).to.match(/^[a-z0-9]+$/i);
});

pm.test("时间戳有效性验证", () => {
    const ts = pm.globals.get("timestamp");
    pm.expect(ts).to.have.length(10);
    pm.expect(Number(ts)).to.be.a("number");
});

// 响应验证示例(假设接口返回请求参数)
pm.test("响应包含随机参数", () => {
    const response = pm.response.json();
    pm.expect(response.request_id).to.equal(pm.environment.get("randomStr"));
    pm.expect(response.timestamp).to.equal(pm.globals.get("timestamp"));
});

验证流程

  1. 变量生成验证:通过控制台输出确认变量格式符合预期。
  2. 接口响应验证:检查返回数据是否包含生成的随机参数。
  3. 数据唯一性验证:通过多次执行请求确认无重复值。
  4. 时间有效性验证:对比生成时间戳与服务器时间偏差。

通过合理使用Postman的前置脚本和测试脚本,可以显著提升接口测试的自动化水平和测试质量。在实际应用中,建议结合具体业务场景进行扩展,形成标准化的测试数据生成体系。

0
看了该问题的人还看了