Postman数据驱动测试怎么读取外部JSON文件里的多组参数?

Designer°爱娜 阅读 3

我在用Postman做接口的数据驱动测试,想从外部JSON文件里读取多组测试数据,但每次运行只跑第一条,后面的都没执行。是不是我的数据结构写错了?

我试过把JSON放在data里,也检查了Collection Runner的设置,但还是不行。下面是我用的Vue组件模板,里面模拟了类似的数据结构:

<template>
  <div>
    <ul>
      <li v-for="item in testData" :key="item.id">
        {{ item.username }} - {{ item.password }}
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      testData: [
        { id: 1, username: 'user1', password: 'pass1' },
        { id: 2, username: 'user2', password: 'pass2' }
      ]
    }
  }
}
</script>
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
秋花 Dev
这个问题我之前也遇到过,Postman跑数据驱动测试确实容易踩坑。你的JSON文件结构应该没问题,主要是Collection Runner的设置要调整。

一般这样处理:
1. JSON文件要放在顶级数组里,像你Vue示例里的testData那样,这个你已经做对了
2. 在Collection Runner里要勾选"Data"选项,并选择你的JSON文件
3. 确保Iterations设置的数量和你JSON里的数据条数一致

给你个Postman测试数据文件的正确示例:
[
{
"id": 1,
"username": "user1",
"password": "pass1"
},
{
"id": 2,
"username": "user2",
"password": "pass2"
}
]


最关键的是在Runner界面,把"Run Order"设置成"Sequential"而不是"Random",否则它真的可能只跑第一条就停了。这破设定坑了我好几次...

另外记得在测试脚本里用pm.iterationData.get('key')来读取当前迭代的数据,别用pm.variables.get
点赞 1
2026-03-09 16:20