当前位置: 首页 > news >正文

Jmeter性能测试 -3数据驱动实战

什么是数据驱动?

从数据文件中读取测试数据,驱动测试过程的一种测试方法。数据驱动可以理解为更高级的参数化。

特点:测试数据与测试代码分离;数据控制过程

好处:降低开发和维护成本,减少代码量,便于用力修改和维护

Jmeter数据驱动实战

环境

我在本地搭建了数据库【如果不会可以留言,我再出搭数据库的帖子】

新建了两个表

  1. create table movies(id integer primary key, title text, director text, year integer, Length_minutes);

  2. create table boxoffice(movie_id integer primary, rating integer, domestic_sale, international_sales);

AI写代码

然后在jmeter建立数据库的连接

可以看到,我在连接数据库的url上添加了

?useUnicode=true&characterEncoding=utf8

AI写代码

这么一句【myDatabase是我的数据库名】不加这句的话会报编码“255”错误。

然后添加JDBC Request,对movies表进行查询

执行可以看到结果树中输出了数据库查询到的数据

我们做如下需求:如果year>=2016,就说它是新电影,否则就判断为老电影。

分析

这里有多条数据,必然要用到循环控制器

有判断,要加如果控制器

循环的次数就是调试取样器里的rows_#

所以循环控制器里循环次数就写${rows_#}

还要加判断,即如果控制器,即:如果year>=2016,则执行,也就是说我们要先把每一行的year值取出来

所以我们需要加个BeanShell提取器

二获取列名那里不能写死,第一次循环取第0行,第二次循环取第一行,以此类推。

我们加一个计数器,来解决这个问题

然后就可以编辑那个BeanShell脚本了

vars.put("year_loop", vars.getObject("res").get(${count}-1).get("year").toString());

AI写代码

注意:1、js脚本获取数据从0开始,所以要减1;2、结尾必须加toString(),因为这里只能处理字符串类型的变量。

现在就可以写如果控制器了

注意:下面那两个选项都不能勾上,一旦勾上就执行不出结果。

然后我们在控制台输出

执行即可看到控制台输出。

整个过程目录结构

------------------

当然这只是一种办法,还有一种办法就是查询数据库的时候不查全部,只查year这个字段

select year from movies;

AI写代码

这样就不需要获取year的值那个BeanShell脚本来获取了,只需要修改if控制器,但是现在"如果"里判断还是需要一个变量,我们再来看一下调试取样器获得的数据库返回

分析一下就知道,"如果"控制器只要写

把想连接那个写进去点生成,生成了Missing open brace for subscript{count},)},把它放到如果控制器判断里即可

结构目录

执行后就看到

而且在控制台输出了3个

当然除了读数据库数据,数据驱动还可以写Excel读,那就不需要循环控制器了,而且把线程加到应用有线程数。相较而言,多线程执行速度会更快,因为循环控制器,说白了就是for循环,数据是一条一条的执行,而多线程则一次发多个请求。

建议大家如果没有经验可以自己操作一下,我在操作的过程中其实遇到很多问题,其实解决问题的过程就是学习的过程。

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

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

软件测试面试文档

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

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

http://www.jsqmd.com/news/289362/

相关文章:

  • 基于Java的工厂车辆智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 基于Java的工厂进度智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 基于Java的工厂食堂餐饮智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 市面上常见的呼叫中心系统有哪些 靠谱款盘点可作参考
  • CF1290C Prefix Enlightenment 题解
  • ◆comfyUI教程◆第2章11节 Latent基础与应用控制 - 实践
  • 2026山东最新山东卓越全程土地房地产评估有限公司资产评估_房地产评估_股权评估_损失评估_数据资产评估机构首选推荐:山东专业机构,全方位服务值得信赖.
  • Matlab调用downloadCIFARData和loadCIFARData出错
  • 顶刊中的“水刊”!IEEE Trans系列,含金量拉满,3天初审,中一篇可躺平!
  • springboot基于微信小程序的高校毕业生公考助手管理系统
  • 从黑土到云端,富裕县年货节开启乡村振兴数字新篇
  • 2026年国产控油粉底液专业深度测评:排名前五品牌权威发布
  • mysql二进制日志清理
  • 2026年租车厂家权威推荐榜:免押金租车、商务租车、四川租车公司、团体租车、成都汽车租赁、成都汽车租赁公司、成都租车选择指南
  • 2026年专业深度测评:国产控油粉底液排名前五权威榜单
  • 2026山东最新资产评估事务所top5推荐!潍坊等地专业评估机构权威榜单发布,资质全面服务多元助力资产价值精准评估.
  • 华为耳机这3个隐藏技能,把实用性拉满!
  • 2026年四川夜景照明工程哪家好?五大优质厂家深度推荐,众奇光彩领跑文旅夜游与城市亮化新赛道
  • GitHub Issues 集成
  • 2026年评价高的磁力泵公司推荐:氟塑料磁力泵/液下化工泵/耐腐蚀化工泵/耐腐蚀磁力泵/耐酸磁力泵/自吸化工泵/选择指南
  • 基于SpringBoot和Vue的实验报告管理系统的设计与实现
  • 新加坡最好的硕士留学机构,申请成功率高,助您留学无忧
  • 南京展会设计公司2026年度推荐:品质之选,展览搭建/展厅制作/展览设计/展厅装修/会场搭建/展位设计,展会设计企业推荐
  • 郑州硕士留学中介口碑排名为何领先?学员满意度高给出答案
  • 诚信租车推荐榜 高性价比优质服务商精选
  • Windows 电脑操作一键自动化任务神器
  • 继续教育论文数据造假会怎样?这条红线千万别碰
  • 软件研发 --- 安卓开发 之 Android 16 KB 页大小
  • 基于精益建造的预制构件准时交付优化【附模型】
  • 商业航天高可靠PCBA制造:抗辐射CAN收发器SMT贴装关键技术及系统级挑战