Postman数据驱动测试怎么读取外部JSON文件里的多组参数?
我在用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>
一般这样处理:
1. JSON文件要放在顶级数组里,像你Vue示例里的testData那样,这个你已经做对了
2. 在Collection Runner里要勾选"Data"选项,并选择你的JSON文件
3. 确保Iterations设置的数量和你JSON里的数据条数一致
给你个Postman测试数据文件的正确示例:
最关键的是在Runner界面,把"Run Order"设置成"Sequential"而不是"Random",否则它真的可能只跑第一条就停了。这破设定坑了我好几次...
另外记得在测试脚本里用
pm.iterationData.get('key')来读取当前迭代的数据,别用pm.variables.get。