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

  • 需求分析:
  1. 每次执行完自动化测试,我们不会执行删除接口把数据删除,而需要留着手工测试,此时会导致下次执行测试有旧数据
  2. 我们手工可能也会新增数据,导致下次执行自动化测试有旧数据
    下面介绍两种清空数据的方法
一、通过获取total数值进行清空
  1. 实际页面、查询接口地址如下,页面有分页统计功能,能获取到总条数

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

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

  1. 接着新增一个删除接口,把获取的delete_id变量参数化到删除接口中

6. 执行结果如下:

  1. number变量获取方法如下:

8. delete_id变量获取方法如下,每次获取第一个数值,直到循环结束:

二、通过获取jmeter变量matchNr进行清空
  1. 实际页面、查询接口地址如下,页面没有分页查询功能,无总条数,可以通过jmeter的json path匹配变量获取总条数
  1. 首先需要添加查询接口获取总条数assignment_id_matchNr,如下所示

3. 在接口管理层级下新增一个循环控制器,用来控制循环的次数,变量为上个查询接口获取的assignment_id_matchNr,如下所示

  1. 接着在循环控制器层级下新增一个查询接口(该接口地址和获取assignment_id_matchNr变量一样),用来获取delete_id,如下所示

5. 接着新增一个删除接口,把获取的delete_id变量参数化到删除接口中

  1. 执行结果如下

三、数据安全校验

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

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

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

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

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

相关推荐
_可乐无糖10 小时前
jmeter得到的文档数据处理
jmeter·自动化
职教育人10 小时前
金砖软件测试赛项之Jmeter如何录制脚本!
java·测试工具·jmeter·性能优化·集成测试
一瓢一瓢的饮 alanchan10 小时前
【运维监控】influxdb 2.0 + grafana 11 监控jmeter 5.6.3 性能指标(2)
运维·jmeter·grafana·监控·influxdb·运维监控
XXX-1710 小时前
8.JMeter+Ant(基于工具的实现接口自动化,命令行方式)
软件测试·jmeter·接口测试
IT-陈10 小时前
Jmeter 线程组解析
jmeter
陈奕迅本讯10 小时前
jmeter
jmeter
落叶花开又一年10 小时前
JMeter
jmeter
qq_4337169520 小时前
UI自动化测试的边界怎么定义?
自动化测试·软件测试·测试工具·jmeter·ui·接口测试·postman
小码哥说测试3 天前
软件测试技术之 GPU 单元测试是什么!
自动化测试·功能测试·测试工具·jmeter·单元测试·集成测试·postman
XXX-174 天前
7.Jmeter数据驱动(csv数据文件设置)+Jmeter数据库操作
软件测试·jmeter·接口测试