Postman 常用脚本代码模板大全

目录

一、基础脚本模板(Pre-request)

1.生成时间戳(秒级/毫秒级)

2.生成随机字符串 / 数字

3.生成 UUID

二、安全与认证脚本

1.JWT 动态生成(需要 CryptoJS)

2.HMAC-SHA256 请求签名(常用于 API 签名校验)

3.自动刷新 Token(使用上一个响应)

三、自动化测试脚本(Tests)

1.检查状态码

2.检查 JSON 字段存在

3.字段值断言

4.提取响应值作为后续请求参数

5.JSON Schema 校验

四、CI/CD 集成脚本(Newman & Pipeline)

1.生成报告状态(Tests)

2.批量测试数据驱动

3.全局测试完成报告

五、实用组合:一键签名 + 自动注入 + 测试

最佳实践总结


一、基础脚本模板(Pre-request)

1.生成时间戳(秒级/毫秒级)

// 当前时间戳(秒)
pm.environment.set("timestamp", Math.floor(Date.now() / 1000));

// 当前时间戳(毫秒)
pm.environment.set("timestamp_ms", Date.now());

使用: 在请求中直接使用 { {timestamp}}{ {timestamp_ms}}


2.生成随机字符串 / 数字

// 随机字符串(8位)
pm.environment.set("randomStr", Math.random().toString(36).substring(2, 10));

// 随机数(6位)
pm.environment.set("randomNum", Math.floor(Math.random() * 1000000));

3.生成 UUID

function uuidv4() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = Math.random() * 16 | 0,
    v = c === 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}
pm.environment.set("uuid", uuidv4());

二、安全与认证脚本

1.JWT 动态生成(需要 CryptoJS

// 仅适用于无需外部签名密钥的简易 JWT(开发测试用)
const header = { alg: "HS256", typ: "JWT" };
const payload = {
  sub: "user123",
  iat: Math.floor(Date.now() / 1000),
  exp: Math.floor(Date.now() / 1000) + 3600
};

function base64url(source) {
  return CryptoJS.enc.Base64.stringify(source)
    .replace(/=+$/, '')
    .replace(/\+/g, '-')
    .replace(/\//g, '_');
}

const headerBase64 = base64url(CryptoJS.enc.Utf8.parse(JSON.stringify(header)));
const payloadBase64 = base64url(CryptoJS.enc.Utf8.parse(JSON.stringify(payload)));
const signature = base64url(CryptoJS.HmacSHA256(headerBase64 + "." + payloadBase64, "your_secret_key"));

const jwt = `${headerBase64}.${payloadBase64}.${signature}`;
pm.environment.set("jwt_token", jwt);

使用:

Headers 中加入:

Authorization: Bearer {
  
  {jwt_token}}

2.HMAC-SHA256 请求签名(常用于 API 签名校验)

const apiKey = "testKey";
const apiSecret = "testSecret";
const timestamp = Date.now();
const payload = `GET|/api/user/info|${timestamp}`;

const signature = CryptoJS.Hma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

34号树洞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值