只是为了给你一个我想要实现的目标的背景:
我的功能测试团队有一个java库,它包含基于REST架构的HTTP调用。我基本上想重新使用jar并在更高的并发性下调用方法。我只是想知道如何使用JMeter的JavaSampler实现这一目标?
示例:假设我想要进行100个用户登录和注销测试,我的jar为我提供了登录和注销功能,那么我的测试结果如何?围绕这个的任何指针对我开始非常有帮助。
选项1 - 使用Groovy
groovy
作为一种语言,并确保选中Cache compiled script if available
框选项2 - 使用Java Request
创建自己的类,实现JavaSamplerClient接口,并创建自己的setupTest()
,getDefaultParameters
和runTest()
方法的覆盖。您可以看到以下现有类以供参考:
选项3 - 使用jmh
JMH代表Java Microbenchmark Harness所以如果您只需要测量方法执行时间即使没有JMeter也可以执行它,请查看Getting Started With JMH指南以获取更多信息。
您需要创建一个实现AbstractJavaSamplerClient的类,并在runTest()方法中编写代码。
JavaSamplerClient的runTest()方法在这里没有默认实现,因此子类必须至少定义此方法。
将jar文件放在jmeter文件夹内的lib
文件夹中。
重启并尝试导入相应的类。
这对我使用BeanShell后处理器(jmeter 3.2):
然后我可以在我的脚本中引用相关的类。