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

Postman自动化测试脚本:如何创建数组验证多个字符串ID

在Postman中创建数组验证接口返回的字符串ID

1. 从响应中提取ID数组

先解析接口返回的JSON数据,把其中的ID提取到数组里。假设接口响应结构如下:

{
  "items": [
    {"id": "user_001"},
    {"id": "user_002"},
    {"id": "user_003"}
  ]
}

在Postman的Tests标签中编写代码提取:

// 解析响应为JSON对象
const resp = pm.response.json();
// 用map方法提取所有id字段到数组
const actualIds = resp.items.map(item => item.id);

如果接口直接返回ID数组(比如响应是["user_001", "user_002"]),直接赋值即可:

const actualIds = pm.response.json();

2. 定义预期ID数组

根据测试用例需求,写出你期望得到的ID集合:

const expectedIds = ["user_001", "user_002", "user_003"];

3. 执行验证逻辑

根据测试场景选择对应的验证方式:

  • 验证ID数量正确
pm.test("返回的ID数量符合预期", () => {
  pm.expect(actualIds.length).to.equal(expectedIds.length);
});
  • 验证所有预期ID都存在(不关心顺序)
    如果接口返回的ID顺序不固定,用Set来做无重复的存在性检查:
pm.test("所有预期ID均在响应中返回", () => {
  const idSet = new Set(actualIds);
  expectedIds.forEach(id => {
    pm.expect(idSet.has(id)).to.be.true;
  });
});
  • 验证数组完全匹配(包括顺序)
    如果ID的返回顺序固定,直接对比两个数组:
pm.test("返回的ID与预期完全一致", () => {
  pm.expect(actualIds).to.eql(expectedIds);
});
  • 验证每个ID都是字符串类型
    确保返回的ID类型符合要求:
pm.test("所有返回的ID均为字符串类型", () => {
  actualIds.forEach(id => {
    pm.expect(typeof id).to.equal("string");
  });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:11:39