JMeter中如何定位到某个具体的类来自于哪个jar包

我们在进行性能测试的过程中常常遇到一个奇怪的问题,比如在一台机器上调试好的脚本,但是在另一台压测机器上跑不通,报某些类找不到,可是查看两个脚本中测试计划中引用的包都一样,不知道如何定位。

下面我就分享一下我遇到这个问题是如何解决的。

一、首先我们分析测试计划下面导入的jar都一样,可能问题出现在jmeter压测工具中bin目录下的ext下面的jar包可能不一样,无问题的jmeter上某个jar包有这个报错的类,而那个报错的机器的jmeter下可能没有这个jar包。那么怎么定位呢

二、其次,在无报错的机器上jmeter的脚本中添加js232,把下面的代码粘贴上去,其他具体的类名,替换为你报错中找不到那个类名的全名称

groovy 复制代码
// 替换成你要查询的完整类全限定名
def clazz = 具体的类名
def location = clazz.getProtectionDomain().getCodeSource().getLocation()

log.info("===== 类所在Jar信息 =====")
log.info("类全路径:" + clazz.getName())
log.info("所在Jar包路径:" + location.getPath())
log.info("Jar包文件名:" + location.getFile())

然后执行脚本,在打印的日志中查看是哪个具体jar包,然后把这个jar包也放在有问题的机器的jemter的ext的目录下就可以了,将有问题的jmeter重启后,再次执行脚本,问题解决!

相关推荐
GoodStudyAndDayDayUp5 分钟前
一个简单的java jar跑docker
java·docker·jar
FITA阿泽要努力19 分钟前
第1周·第2讲|一道综合代码推演
服务器·前端·python·agent.
ggb喔20 分钟前
52pojie 的桌面工具:为什么它们总在高分屏上模糊、资源管理器重启后失效
windows·python·网络安全·软件工程·个人开发·用户界面·用户体验
小羊没烦恼!40 分钟前
Windows Azure Platform体验(1):Windows Azure
java·大数据·后端·python·flask·word·.net
JWASX43 分钟前
【agent 开发】agent 开发学习 - LangChain(1)
python·学习·agent
jason.zeng@15022071 小时前
(五)多轮对话上下文,实现交互。
python·交互·llama
wangchunyu1141 小时前
食韵味简 —— 免费开源的中式菜谱 API 服务
python·django·开源
znx9391 小时前
因子分析:量化交易的底层核心与盈利逻辑基石
人工智能·python·机器学习·期魔方
jason.zeng@15022071 小时前
(十)分层架构的多文件工程
python·架构·prompt·交互·ai编程·llama
小小张说故事1 小时前
Python 装饰器到底是个啥?从 @ 符号到手写一个,5 个例子讲透
后端·python