问题背景:

  工作中性能测试存在接口数据依赖,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接口都不重复。

  

结果:

  

  

最新文章

  1. 配置Chrome支持本地(file协议)的AJAX请求
  2. linux系统下sendmail的搭建
  3. win7配置ftp服务
  4. Cornerstone 哪些错误
  5. Page传回页面的值问题
  6. 【Web前端】---js调用本地应用程序
  7. POJ C++程序设计 编程题#3 编程作业—文件操作与模板
  8. UOJ #78 二分图最大匹配
  9. PHP学习笔记三十【final】
  10. sqlserver数据库三范式的理解
  11. [Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
  12. C# MessageBox.Show每隔3秒自动关闭
  13. 机器学习笔记1 - Hello World In Machine Learning
  14. access登录窗口校验代码一
  15. 如何在React项目中直接使用WebAssembly
  16. 初略 异步IO
  17. camera理论基础和工作原理【转】
  18. delphi 下载
  19. .NET内存管理、垃圾回收
  20. 企业数据总线(ESB)和注册服务管理(dubbo)的区别

热门文章

  1. Netty 学习(三):通信协议和编解码
  2. 第六章:Django 综合篇 - 14:Django 日志
  3. 微软出品自动化神器Playwright(Playwright+Java)系列(四) 之 浏览器操作
  4. spring boot项目使用mybatis-plus代码生成实例
  5. 驱动开发:内核R3与R0内存映射拷贝
  6. Java云原生崛起微服务框架Quarkus入门实践
  7. IDEA快速生成数据库表的实体类
  8. C语言之走迷宫深度和广度优先(利用堆栈和队列)
  9. Windows活动目录_票据——敬请期待!
  10. 作用域通信对象:session用户在登录时通过`void setAttribute(String name,Object value)`方法设置用户名和密码。点击登录按钮后,跳转到另外一个页面显示用户