Jmeter执行接口自动化测试-如何初始化清空旧数据

  • 需求分析:
  1. 每次执行完自动化测试,我们不会执行删除接口把数据删除,而需要留着手工测试,此时会导致下次执行测试有旧数据
  2. 我们手工可能也会新增数据,导致下次执行自动化测试有旧数据
    下面介绍两种清空数据的方法

一、通过获取total数值进行清空

  1. 实际页面、查询接口地址如下,页面有分页统计功能,能获取到总条数

  2. 首先需要添加查询接口获取总条数number,如下所示

  3. 在接口管理层级下新增一个循环控制器,用来控制循环的次数,变量为上个查询接口获取的number,如下所示
  4. 接着在删除检查数据层级下新增一个查询接口(该接口地址和获取number变量一样),用来获取delete_id,如下所示

  5. 接着新增一个删除接口,把获取的delete_id变量参数化到删除接口中
  6. 执行结果如下:
  7. number变量获取方法如下:
  8. delete_id变量获取方法如下,每次获取第一个数值,直到循环结束:
    二、通过获取jmeter变量matchNr进行清空
  9. 实际页面、查询接口地址如下,页面没有分页查询功能,无总条数,可以通过jmeter的json path匹配变量获取总条数


  10. 首先需要添加查询接口获取总条数assignment_id_matchNr,如下所示
  11. 在接口管理层级下新增一个循环控制器,用来控制循环的次数,变量为上个查询接口获取的assignment_id_matchNr,如下所示
  12. 接着在循环控制器层级下新增一个查询接口(该接口地址和获取assignment_id_matchNr变量一样),用来获取delete_id,如下所示

  13. 接着新增一个删除接口,把获取的delete_id变量参数化到删除接口中
  14. 执行结果如下

    三、数据安全校验

 目前很多系统都是项目型,通过projectid去筛选查询接口,查询出自己需要的项目数据,其中就涉及到接口的安全测试,如果传的projectid为空,可能就会返回系统全部的数据,这种接口是有问题的,如果应用到循环删除中,就可能导致生产事故

  1. 传正常的projectid,返回结果正常

  2. 传projectid=null,返回系统所有数据

  3. 怎样规避这种风险,可以增加个if控制器判断,只有project等于某个值(自己测试的项目)才能执行自动清除数据接口,project_check定义在全局变量中,跟着环境走,如下所示


2023最新Jmeter接口测试从入门到精通(全套项目实战教程)

相关推荐
谙忆8 分钟前
PNG改成ICO为什么不能用:用Python检查多尺寸目录与256px帧
开发语言·python
长空任鸟飞_阿康11 分钟前
如何设计支持 Skills 的 Agent?一套可扩展的四层架构
python·ai·架构·skills
滴啦嘟啦哒14 分钟前
【具身笔记】【原理探究】一、对PI05源码的实践笔记
笔记·python·vla·具身
miofly21 分钟前
GitHub 今日推荐|elephant-goldfish-model:先审查设计草案再写代码
python·开源·github
云和数据.ChenGuang30 分钟前
深入剖析 Python 的 MRO 规则:从 C3 线性化到实战踩坑
开发语言·python·1024程序员节
123_不打狼40 分钟前
Squidiff:基于条件扩散模型预测细胞发育与扰动响应
开发语言·python·squidiff
databook43 分钟前
用Python DSL 写轻量数据质检工具
python·数据分析
郝学胜-神的一滴1 小时前
AI 编程智能体 17:四步搞定专属AI智能体
大数据·人工智能·python·神经网络·算法·langchain·强化学习
岁寒良木1 小时前
麒麟 V10 (x86_64) 离线/联网部署 Docker 26.1.4 与 MaxKB v2.10 LTS 实战指南
python·docker·kylin
Norna1 小时前
receive 取消了,TCP 为什么还在读:AnyIO 的一次背压修复
python