JMeter学习-028-JMeter默认jmx脚本分发目录(路径)定制
我们在分布式执行参数化脚本时,为尽可能多的利用Slave资源,尽可能将参数文件配置为相对路径,以更好的去适配Slave环境。与此同时,每台Slave的服务jmeter -s 启动的路径可能不尽相同,同一台也可能因不同的操作人员启动时导致其 user.dir 进行了变化,从而参数文件不易管理分发。通常,我们大多采用shell脚本的形式,在固定的路径启动JMeter服务,并在执行测试前将相应的参数文件的分发至Slave对应的路径。
那么,有什么方法可以更好地解决这个问题呢?
我们可通过对JMeter进行定制来解决。
通过查看 JMeter 源码可知,设置路径的方法在 FileServer.java 中,其对应的构件名为:ApacheJMeter_core.jar,对应的源码路径是 apache-jmeter-3.0\src\core\org\apache\jmeter\services\FileServer.java。
对应的两个主要设置 base(路径)方法如下所示:
public synchronized void setBase(File jmxBase)
public synchronized void setBasedir(String basedir) |
通过修改如上两个方法,将 base 重新修改为自己定制的路径(例如获取系统 JMETER_HOME 的路径,或者读取配置文件配置的路径)即可。
具体操作步骤如下所示:
1、解压 ApacheJMeter_core.jar 至 ApacheJMeter_core 目录 2、修改 FileServer.java,定制所需路径 3、编译 FileServer.java,生成字节码文件(各构件与 FileServer.java 放在同一目录) javac -classpath ApacheJMeter_core.jar;commons-collections-3.2.2.jar;jorphan.jar;logkit-2.0.jar FileServer.java 4、将生成的字节码文件拷贝至目录 ApacheJMeter_core\org\apache\jmeter\services\ 下覆盖源文件 5、重新打包 ApacheJMeter_core.jar ApacheJMeter_core>jar -cvf ApacheJMeter_core.jar * 6、将新打包的 core 构件放到 JMETER_HOME\lib\ext\ 目录下,覆盖原文件即可 7、重新执行命令 jmeter -s 启动 JMeter 服务
|
若是对重新打包依然有疑问,请参阅之前的文章 Java学习-039-源码 jar 包的二次开发扩展实例(源码修改),谢谢!
至此,此文顺利完结,希望此文能够给初学 JMeter 的您一份参考。
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^
欢迎 【 留言 || 关注 || 打赏 】 。您的每一份心意都是对我的鼓励和支持!非常感谢!欢迎互加,相互交流学习!
作者:范丰平,本文链接:https://www.cnblogs.com/fengpingfan/p/5603594.html
Copyright @范丰平 版权所有,如需转载请标明本文原始链接出处,严禁商业用途! 我的个人博客链接地址:http://www.cnblogs.com/fengpingfan