首页 > 编程语言 >Jmeter源码改造之-脚本执行&定制报告&定制Jmeter弹框

Jmeter源码改造之-脚本执行&定制报告&定制Jmeter弹框

时间:2024-08-06 16:24:59浏览次数:10  
标签:解析 String 代码 弹框 jtl 源码 定制 Jmeter

承接上一篇:

Jmeter源码改造之-自动化生成性能测试脚本_自动生成jmx-CSDN博客

假如你已经有了Jmeter源码开发环境,就可以通过代码去执行压测脚本(当然,界面、dos窗口命令/Linux命令、Jenkins等方式也都能实现脚本执行),还可以通过代码去解析.jtl结果文件来生成你想要的测试报告,并定制Jmeter弹框测试结果。

【执行压测脚本】:

注意

下面代码中的currentDir,是Jmeter执行文件的目录(即bin目录);

jmxFileName(jmx文件名,可自定义时间戳等)、dataDir(jmx文件目录)、reportDir(Jmeter生成的报告路径)均可以根据需要自己在代码中定义。

Catch代码,可以替换成自己的日志代码。

核心代码如下:

//执行测试脚本,并生成结果
try {
    // 执行的Shell命令
    String currentDir = System.getProperty("user.dir");
    String command = "cmd /c "+currentDir+"\\jmeter -n -t "+jmxFileName+" -l "+dataDir+"\\result.jtl -e -o "+reportDir;

    // 执行命令
    Process process = Runtime.getRuntime().exec(command);

    // 等待执行完成
    process.waitFor();

} catch (IOException | InterruptedException e1) {
    e1.printStackTrace();
}

【生成测试报告】

其实就是解析jtl文件,读取信息。此处举两个例子:包括解析响应时间、解析错误率。

1.解析jtl文件获取响应时间:

readJtlForTime函数可以自己定义。

注意:响应时间在jtl文件中是“elapsed”这一列。

核心代码如下:

ArrayList<String>  responseTime = readJtlForTime(dataDir+"\\result.jtl");

2.解析jtl文件获取错误率:

readJtlForErrorRate函数可以自己定义。

注意:响应时间在jtl文件中是“success”这一列,true表示该线程正确,false表示该线程错误。

核心代码如下:

//取得错误率
String errorRate = readJtlForErrorRate(dataDir+"\\result.jtl");

【Jmeter界面弹框测试结果】

JMeterUtils类中的几个函数,都可以实现弹框功能。

注意:以下两个函数都可以实现Jmeter弹框(第一个参数是弹框具体内容,第二个为弹框标题),可以根据需要自定义弹框信息。

代码例子如下:

JMeterUtils.reportInfoToUser(String msg, String titleMsg)
JmeterUtils.reportErrorToUser(String errorMsg, String titleMsg, Exception exception) 

弹框样例如下:

【其他】:

由于Jmeter界面进行测试执行的方式比较吃内存,档线程数较多的时候,可能会报错” Out of Memory Error”(在Jmeter的bin目录下可查看具体error log)。这时,需要根据电脑资源情况关闭其他程序,或者调整JVM参数。

标签:解析,String,代码,弹框,jtl,源码,定制,Jmeter
From: https://blog.csdn.net/weixin_47130880/article/details/140957688

相关文章

  • Jmeter源码改造之-定制Jmeter菜单
    随着Jmeter工具的不断深入应用,大家很有可能会遇到Jmeter无法解决的问题,或者想优化现有的Jmeter功能来满足不断变化的业务需求。最常见的,我们想自定义一些函数给Jmeter去调用,这个时候就需要对源码进行解析和改造。还有一种情况,我们想定制一下Jmeter的菜单,来实现一些特定功能......
  • 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源码和数据库参考。系统程序文件列表开题报告内容研究背景随着咖啡文化的普及和消费者对品质生活追求的不断提升,咖啡馆作为休闲聚会、商务洽谈的重要场所,其数量与规模在全球范围内迅速增长。然而,传统的手工管......