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接口测试从入门到精通(全套项目实战教程)

相关推荐
nju_spy6 分钟前
python 算法题基础常用总结(比赛 or 机试 or 面试)
python·记忆化搜索·位运算·二分查找 - bisect·排序与lambda·最短路和最小生成树·堆与优先队列
Deng87234734812 分钟前
自动化极验3点选验证码的识别与验证方案
运维·python·自动化
川石课堂软件测试37 分钟前
自动化测试的基本概念及常用框架
数据库·python·功能测试·测试工具·单元测试·自动化·流程图
灰勒塔德39 分钟前
jetson orin nano super开发指南
linux·服务器·python
8278209371 小时前
python scp 备份
开发语言·python
poggioxay1 小时前
JAVA零基础入门知识3(持续更新中)
java·开发语言·python
serve the people1 小时前
TensorFlow 基础训练循环(简化版 + 补全代码)
人工智能·python·tensorflow
木里先森1 小时前
解决报错:/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·python
爱打代码的小林1 小时前
numpy库数组笔记
笔记·python·numpy
Misnice1 小时前
pip 查看当前包列表
windows·python·pip