JMeter JavaSampler:如何从外部jar调用方法?

问题描述 投票:0回答:4

只是为了给你一个我想要实现的目标的背景:

我的功能测试团队有一个java库,它包含基于REST架构的HTTP调用。我基本上想重新使用jar并在更高的并发性下调用方法。我只是想知道如何使用JMeter的JavaSampler实现这一目标?

示例:假设我想要进行100个用户登录和注销测试,我的jar为我提供了登录和注销功能,那么我的测试结果如何?围绕这个的任何指针对我开始非常有帮助。

java performance jmeter performance-testing
4个回答
1
投票

选项1 - 使用Groovy

  1. 将实现功能的jar添加到JMeter Classpath
  2. 重新启动JMeter以获取它们
  3. JSR223 Sampler添加到您的测试计划中,确保您选择groovy作为一种语言,并确保选中Cache compiled script if available
  4. 将要并行运行的代码并行放入“脚本”区域,并使用JMeter Thread Group设置并发。

选项2 - 使用Java Request

创建自己的类,实现JavaSamplerClient接口,并创建自己的setupTest()getDefaultParametersrunTest()方法的覆盖。您可以看到以下现有类以供参考:


选项3 - 使用jmh

JMH代表Java Microbenchmark Harness所以如果您只需要测量方法执行时间即使没有JMeter也可以执行它,请查看Getting Started With JMH指南以获取更多信息。


0
投票

您需要创建一个实现AbstractJavaSamplerClient的类,并在runTest()方法中编写代码。

JavaSamplerClient的runTest()方法在这里没有默认实现,因此子类必须至少定义此方法。


0
投票

将jar文件放在jmeter文件夹内的lib文件夹中。

重启并尝试导入相应的类。


0
投票

这对我使用BeanShell后处理器(jmeter 3.2):

  1. 将外部jar文件放在lib \ ext文件夹中
  2. 重启jmeter
  3. 在BeanShell脚本中导入包

然后我可以在我的脚本中引用相关的类。

© www.soinside.com 2019 - 2024. All rights reserved.