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

如何在Postman中测试响应体字段的文本/数字属性?

正确的Postman API测试方案

测试需求

验证GET接口返回的缩写列表中:

  • 每个对象的id字段为数字类型
  • 每个对象的text字段是不含数字的缩写(格式如A.D.、a.m.这类带点的缩写)

原测试代码的问题

  1. 接口响应是数组,原代码直接访问jsonData.id/jsonData.text,未遍历数组中的每个元素,无法覆盖所有条目验证
  2. 验证id的逻辑错误:to.include(Number)不是检查类型的正确写法
  3. 验证text的逻辑完全错误:parseInt()无参数,且未匹配“不含数字+是缩写”的规则

正确的测试代码

// 获取响应的JSON数组
const jsonData = pm.response.json();

pm.test("所有id均为数字类型", function () {
    // 遍历数组中的每个条目
    jsonData.forEach(item => {
        // 验证id是数字类型
        pm.expect(item.id).to.be.a('number');
        // 可选:如果需要验证id是正整数,可添加下面这句
        // pm.expect(item.id).to.be.an('integer').and.to.be.above(0);
    });
});

pm.test("所有text均为不含数字的缩写", function () {
    // 正则规则:匹配不含数字、且至少包含一个点的字符串
    const abbreviationRegex = /^[^\d]*\.[^\d]*$/;
    jsonData.forEach(item => {
        // 验证text符合正则规则
        pm.expect(item.text).to.match(abbreviationRegex);
        // 也可以拆分验证,逻辑更清晰:
        // pm.expect(item.text).to.not.match(/\d/);
        // pm.expect(item.text).to.include('.');
    });
});

代码说明

  • 先通过pm.response.json()获取接口返回的数组数据
  • 两个测试用例分别遍历数组内的每个对象,逐一验证字段规则
  • 针对text的验证,正则表达式/^[^\d]*\.[^\d]*$/确保字符串不含数字且包含缩写特征的点;也可拆分为两个独立断言,方便定位问题
  • 若需额外限制id为正整数,可启用注释中的断言

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:25:21