前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Jmeter执行接口自动化测试-如何初始化清空旧数据

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

作者头像
jmeter技术研究
发布2019-10-19 11:44:50
2.9K4
发布2019-10-19 11:44:50
举报

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

下面介绍两种清空数据的方法

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

代码语言:javascript
复制
1. 实际页面、查询接口地址如下,页面有分页统计功能,能获取到总条数
代码语言:javascript
复制
2. 首先需要添加查询接口获取总条数number,如下所示
代码语言:javascript
复制
3. 在接口管理层级下新增一个循环控制器,用来控制循环的次数,变量为上个查询接口获取的number,如下所示
代码语言:javascript
复制
4. 接着在删除检查数据层级下新增一个查询接口(该接口地址和获取number变量一样),用来获取delete_id,如下所示
代码语言:javascript
复制
 5. 接着新增一个删除接口,把获取的delete_id变量参数化到删除接口中
代码语言:javascript
复制
6. 执行结果如下:
代码语言:javascript
复制
7. number变量获取方法如下:
代码语言:javascript
复制
8. delete_id变量获取方法如下,每次获取第一个数值,直到循环结束:

二、通过获取jmeter变量matchNr进行清空

代码语言:javascript
复制
1. 实际页面、查询接口地址如下,页面没有分页查询功能,无总条数,可以通过jmeter的json path匹配变量获取总条数
代码语言:javascript
复制
2. 首先需要添加查询接口获取总条数assignment_id_matchNr,如下所示
代码语言:javascript
复制
3. 在接口管理层级下新增一个循环控制器,用来控制循环的次数,变量为上个查询接口获取的assignment_id_matchNr,如下所示
代码语言:javascript
复制
4. 接着在循环控制器层级下新增一个查询接口(该接口地址和获取assignment_id_matchNr变量一样),用来获取delete_id,如下所示
代码语言:javascript
复制
5. 接着新增一个删除接口,把获取的delete_id变量参数化到删除接口中
代码语言:javascript
复制
6. 执行结果如下

三、数据安全校验

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

代码语言:javascript
复制
1. 传正常的projectid,返回结果正常
代码语言:javascript
复制
2. 传projectid=null,返回系统所有数据
代码语言:javascript
复制
3.  怎样规避这种风险,可以增加个if控制器判断,只有project等于某个值(自己测试的项目)才能执行自动清除数据接口,project_check定义在全局变量中,跟着环境走,如下所示
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 jmeter相关技术交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
手游安全测试
手游安全测试(Security Radar,SR)为企业提供私密的安全测试服务,通过主动挖掘游戏业务安全漏洞(如钻石盗刷、服务器宕机、无敌秒杀等40多种漏洞),提前暴露游戏潜在安全风险,提供解决方案及时修复,最大程度降低事后外挂危害与外挂打击成本。该服务为腾讯游戏开放的手游安全漏洞挖掘技术,杜绝游戏外挂损失。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档