JMeter扩展开发之JMeter核心源码解读

发表于:2020-2-10 11:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:杨易寰    来源:51Testing软件测试网原创

#
Jmeter
  JMeter作为开源性能测试工具,近年来社区发展活跃,业界应用广泛,工具功能愈发完善成熟,成为领域内十分流行的性能测试工具之一。得益于开源特性,JMeter具有得天独厚的可灵活扩展性,用户可根据实际功能需求和测试场景,对JMeter进行自定义扩展开发。
  如何对更好地实现JMeter扩展开发?本文先从核心源码层入手,对JMeter启动、加载、运行的应用原理进行解读,涉及到NewDriver、JMeter、JMeterEngine、HashTree等相关内容。
  1.运行入口—NewDriver类
  NewDriver是整个JMeter 的入口类, 完整路径是org.apache.JMeter.NewDriver。NewDriver类中包括jar包扫描、命令解析、全局参数定义、类加载器路径操作等静态方法,核心部分是main方法,main方法通过反射调用JMeter类,启动其start方法,通过对传入参数的解析判断是否执行GUI或NON_GUI模式,这里即区分了日常使用中的界面调试和命令行发压两种应用形态。需要注意的是,在日常应用中,GUI模式也就是界面模式由于存在大量的界面资源加载和元件数据监听,尤其是监听器元件存在大量数据同步和更新,所以在编译源码启动JMeter时官方在日志中特别强调若要执行发压工作,请务必使用命令行模式,否则会影响发压效率和资源消耗。在实际使用中,笔者认为应综合考虑测试场景,若存在小并发且对响应时间和TPS敏感度不高的场景,通过界面级操作发压也非并不可。
  在首次用IDE进行源码编译时,NewDriver会报错“配置文件无法找到”的错误,原因是在NewDriver配置JMeter Home地址方法中,默认会把Parent目录当做安装根目录,所以会存在无法找到properties文件而产生的错误。
  所以通过编译执行的源码,在启动NewDriver时需首先在Run Configration中手动配置JMeter.home参数。

 ......
查看更多精彩内容,请点击下载:

版权声明:本文出自《51测试天地》第五十六期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号