其他分享
首页 > 其他分享> > jmeter中下一接口依赖上一接口的参数,上一个接口存在分页时,如何在下一接口循环读取上一接口的数据?

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