jmeter中下一接口依赖上一接口的参数,上一个接口存在分页时,如何在下一接口循环读取上一接口的数据?
作者:互联网
问题背景:
工作中性能测试存在接口数据依赖,B接口依赖A接口的数据,希望提取到A接口的数据,传入到B接口,但是A接口存在分页的情况。
如何保证A接口返回的数据未知,且每次从A接口传给B接口的数据不重复呢?
问题如下:
问题思考及推演:
1、首选解决分页的问题,当存在分页功能时。A接口返回的数据量是根据每页显示条数决定的。
对于第一个问题:第一反应是通过beanshell脚本计算出传入的页数以及每页开始的记录是第多少条。
String page = String.valueOf(${num1}/25+1);//计算页数,通过计数器num1记录每次循环的次数,然后除以每页显示条数+1获得页数。
String start = String.valueOf(${num1}/25*25);//计算分页后的起始记录是第多少条。
vars.put("page",page);将结果返回给jmeter。
vars.put("start",start);
当解决第一个问题后,以为大功告成,结果运行时发现:分页后,每页获取到的数据后缀都是从1-25,这样导致每次取到的数据都是重复的
为了解决这个问题,想到使用两个计数器,一个控制分页,一个控制分页后重置计数器使后面页数取到的数据不重复。
做好这些后,再次调试,发现取到的数据在第26条的时候出现重复的设备编码,此时就需要解决
2、解决分页后,如何保证从A接口返回的数据传到B接口都不重复。
结果:
标签:25,分页,页数,中下,接口,jmeter,数据,String 来源: https://www.cnblogs.com/Gritli/p/16394897.html