首页 > 编程语言 >Jmeter源码改造之-定制Jmeter菜单

Jmeter源码改造之-定制Jmeter菜单

时间:2024-08-06 16:23:57浏览次数:15  
标签:jmeter 源码 apache org Jmeter 菜单

随着Jmeter工具的不断深入应用,大家很有可能会遇到Jmeter无法解决的问题,或者想优化现有的Jmeter功能来满足不断变化的业务需求。最常见的,我们想自定义一些函数给Jmeter去调用,这个时候就需要对源码进行解析和改造。 还有一种情况,我们想定制一下Jmeter的菜单,来实现一些特定功能,这个时候也需要去研究研究Jmeter的源码。今天我们就来聊聊,如何通过源码改造来定制Jmeter菜单。 【环境准备】: jmeter-5.5_src + JDK1.8 + IntelliJ IDEA2023.3.5 (Community Edition) + gradle-7.3。 建议都去官网下载。 注意事项: 1.Jmeter源码去官网下载,注意是带“src”的包。 2.开发工具IntelliJ IDEA,或Eclipse应该都是可以的。我是用的IntelliJIDEA,可以成功。 3.由于Jmeter较新的版本全部是由gradle构建的,所以IntelliJIDEA的构建工具需要选择Gradle而非Maven。 4.对于Gradle,如果有groovy语言编写基础更好;如果没有,也没有关系,会模仿做一些配置就行。 成功构建完成后,IDE类似下图:

【源码调整】 主要涉及5处地方的调整: 1. package org.apache.jmeter.gui.util;   JMeterMenuBar.java Jmeter所有菜单结构都在这个文件中定义。如果是Jmenu,表示还有子菜单;JmenuItem,则无。 如下图红框,可以根据需要自己声明一个JmenuItem。

假设我们希望将这个菜单加到Jmeter的一级菜单“File”之下,则找到下图的函数:

在该函数中增加以下两段,其中makeMenuItemRes函数的第2个参数“I”,意思是在菜单名称I字母加下划线,类似下图菜单中File的F字母。其余3个参数后面配置都会用到,此处先记下,继续往下看。

2.找到这个目录(建议在IDE中搜索并打开编辑): \src\core\src\main\resources\org\apache\jmeter\resources 编辑下面两个文件,配置菜单的显示名称: messages.properties(英文),messages_zh_CN.properties(中文)。 英文配置样例如下,还记得吗,makeMenuItemRes函数的第1个参数就是下图中的menu_fh_import。中文配置类似。

3. package org.apache.jmeter.gui.action;      ActionNames.java 增加下面一段,还记得吗, makeMenuItemRes函数的第3个参数就是下图中的FHIMPORT

4.定义了ActionNames,下一步就要定义具体的action实现逻辑了: package org.apache.jmeter.gui.action;  在这个包下面新建一个类,类名可以根据需要自己定义。 类的继承关系,可以参考该package下其他action的写法。注意增加下面一段:

5. package org.apache.jmeter.gui.action;      KeyStrokes.java 这个文件主要是用于定义菜单的快捷键,在文件中增加下面一句,表示快捷键是Ctrl+I。与前面提到的makeMenuItemRes函数的第4个参数对应上。

【验证结果】 如下图:找到Gradle中runGui,调试或运行,打开Jmeter客户端,验证菜单定制成功。

【后记】 其实研究源码会发现,Jmeter很多地方都是可以调整显示内容的,比如启动的黑窗口记得吗,也可以加入自定义的提示信息。还有更多的可自定义的地方,大家有兴趣可继续探索,也欢迎大家共同交流学习。

标签:jmeter,源码,apache,org,Jmeter,菜单
From: https://blog.csdn.net/weixin_47130880/article/details/140925573

相关文章

  • SSM高校就业管理信息系统827n6 本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1
     本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:学生,企业,操作必看,企业信息,档案,政策法规,通知公告,就业新闻,招聘会,招聘信息,企业审核,解约申请,签约信息,就业小课堂,学校审核开题报告内容一、......
  • A038-基于SpringBoot+Vue实现的社团管理系统(源码+数据库+报告+部署方式)
    社团管理系统重构与优化方案项目概述社团管理系统是一款专为高校学生设计的在线管理平台,基于SpringBoot和Vue开发,旨在实现信息处理的实时化,同时简化和规范社团信息管理流程。系统功能与角色角色与权限管理员:拥有系统的最高权限,可以管理所有功能和数据。社团社长:负责审核......
  • A083-基于SpringBoot实现的火锅店管理系统设计与实现(源码+论文+报告+包运行)
    (======查看博主个人介绍,有源码获取联系方式========)第4章 系统设计市面上设计比较好的系统都有一个共同特征,就是主题鲜明突出。通过对页面简洁清晰的布局,让页面的内容,包括文字语言,或者视频图片等元素可以清晰表达出系统的主题。让来访用户无需花费过多精力和时间找寻需要的......
  • A084-基于springboot校车调度管理系统(源码+论文+开题报告+ppt+部署文档+数据库文档+包
    (======查看博主个人介绍,有源码获取联系方式========)5系统实现在上一章中,已经本论文中的校车调度管理系统进行了全面的系统设计。接下来第五章对本校车调度管理系统的实现过程进行说明,包括对该校车调度管理系统所需的开发环境、运行环境的说明以及对上一章中提到的各种内容的......
  • Sentine 源码分析之--ParamFlowSlot
    前言:上一篇我对Sentinel中的AuthoritySlot、SystemSlot、GatewayFlowSlot的相关源码进行了分析,本篇我们开始分析ParamFlowSlot相关的源码。Sentinel系列文章传送门:Sentinel初步认识及使用Sentinel核心概念和工作流程详解SpringCloud整合Nacos、Sentinel、O......
  • 手把手教你使用Python网络爬虫下载一本小说(附源码)
    大家好,我是Python进阶者。前言前几天【磐奚鸟】大佬在群里分享了一个抓取小说的代码,感觉还是蛮不错的,这里分享给大家学习。一、小说下载如果你想下载该网站上的任意一本小说的话,直接点击链接进去,如下图所示。只要将URL中的这个数字拿到就可以了,比方说这里是951,那么这个数字......
  • Java计算机毕业设计家乐在线家装平台(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网的普及和人们生活水平的提高,家装行业正经历着前所未有的变革。传统家装模式存在信息不对称、流程繁琐、效率低下等问题,难以满足消费者日益......
  • Java计算机毕业设计课程在线测评系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,在线教育已成为教育领域的重要组成部分,其灵活性和便捷性受到广大师生的青睐。然而,如何有效评估在线教育的学习效果,确保教学质......
  • Java计算机毕业设计咖啡馆管理系统(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着咖啡文化的普及和消费者对品质生活追求的不断提升,咖啡馆作为休闲聚会、商务洽谈的重要场所,其数量与规模在全球范围内迅速增长。然而,传统的手工管......
  • Java计算机毕业设计家教服务网(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今社会,随着教育竞争的日益激烈和家长对孩子教育质量的重视,家教服务已成为许多家庭提升孩子学习成绩、培养综合素质的重要途径。然而,传统的家教服......