Postman/Newman中beforeIteration事件cursor的cycles与iterations属性差异咨询
区分Postman/Newman中beforeIteration事件的
cycles与iterations属性 我之前也纠结过这俩属性的区别,后来结合实际测试和对Postman运行逻辑的理解终于搞明白了:
iterations:代表的是当前数据驱动迭代的序号,对应你导入的CSV/JSON数据文件里的行号(从0开始计数)。比如你例子里length:4,说明有4条测试数据,第一次跑第一条数据时iteration:0,第二条是1,直到跑完第4条(iteration:3),如果设置了重复运行,下一轮循环会从iteration:0重新开始。cycles:代表的是整个集合的循环轮次,对应你在Postman中设置的“重复运行”次数(默认是1次)。比如你把集合设置为重复跑3次,那第一次完整跑完所有4条数据时cycles:1,第二次完整循环所有数据时cycles:2,第三次是cycles:3。
举个直观的例子:
假设你有2条测试数据,设置集合重复跑2次,那么迭代顺序对应的属性值是:
- cycles:1, iteration:0
- cycles:1, iteration:1
- cycles:2, iteration:0
- cycles:2, iteration:1
实际使用场景里的区别:
- 如果你要针对单条测试数据做个性化逻辑(比如根据不同数据生成不同请求参数),用
iteration来判断当前是哪条数据。 - 如果你要在每一轮循环开始前做全局初始化(比如重置环境变量),可以判断
bof: true且对应cycles值来触发。
内容的提问来源于stack exchange,提问作者Ulysses
相关产品推荐
相关产品推荐

