You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Postman中测试并对比API请求的前后数值?

解决Postman中验证余额从10变为8的测试问题

嘿,我来帮你搞定这个Postman测试的问题!你现在的测试代码其实是在做“余额等于余额”的无效验证——自己跟自己比永远都是true,根本没用到交易前的初始值。要实现从10到8的余额变化验证,核心是把交易前的初始余额存起来,在交易后拿来对比,具体步骤如下:

步骤1:存储交易前的初始余额

在调用消费接口之前,先单独发起一次/Balance请求,然后在这个请求的Tests标签里添加脚本,把初始余额存入Postman的环境变量(环境变量可以在不同请求间共享数据):

pm.test("保存初始BTC余额", function () {
    const responseData = pm.response.json();
    // 将初始余额存入环境变量,命名为initialBTCBalance
    pm.environment.set("initialBTCBalance", responseData.BTC);
    // 可选:先验证初始余额确实是10,确保测试的前置条件正确
    pm.expect(responseData.BTC).to.eql(10);
});

步骤2:执行消费接口并验证余额变化

执行完消费接口后,再发起一次/Balance请求,在这个请求的Tests标签里,取出之前存的初始余额,和当前返回的余额做对比。修改你原来的测试代码为:

pm.test("验证BTC余额从10变为8", function () {
    const currentBalance = pm.response.json().BTC;
    // 从环境变量中取出初始余额,注意转成数字类型(避免字符串对比问题)
    const initialBalance = parseInt(pm.environment.get("initialBTCBalance"));
    
    // 两种验证方式选一种即可:
    // 方式1:直接验证当前余额是8
    pm.expect(currentBalance).to.eql(8);
    // 方式2:验证余额减少了2(更灵活,比如后续消费金额变化时不用改测试值)
    // pm.expect(currentBalance).to.eql(initialBalance - 2);
});

关键注意事项

  • 确保请求执行顺序:必须先跑“初始余额请求”→“消费接口请求”→“验证余额请求”,可以把这三个请求放在一个Postman Collection文件夹里,用Collection Runner按顺序执行。
  • 环境变量清理:如果需要重复测试,记得在测试开始前清空环境变量里的initialBTCBalance,避免旧数据干扰。

内容的提问来源于stack exchange,提问作者Fillipo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 15:22:59