建立JAVA项目

建立maven项目,加入Jmeter所需要的JAR包依赖。

POM.xml  加入如下:

org.apache.jmeter

ApacheJMeter_core

3.2

org.apache.jmeter

ApacheJMeter_components

3.2

org.apache.jmeter

ApacheJMeter_java

3.2

org.apache.jmeter

jorphan

3.2

实现JavaSamplerClient 接口

/**

* jmeter测试类

*

* @author hejb 2017.09.04

*

*/

public class AppForJmeter implements JavaSamplerClient {

/**

* 设置可用参数及的默认值

*/

public Arguments getDefaultParameters() {

System.out.println("i'm start");

return null;

}

/**

* 开始测试,从arg0参数可以获得参数值;

*/

public SampleResult runTest(JavaSamplerContext arg0) {

SampleResult sr = new SampleResult();

sr.sampleStart();// jmeter 开始统计响应时间标记

sr.setResponseData("test", null);

sr.setDataType(SampleResult.TEXT);

sr.setSuccessful(true);

sr.sampleEnd();// jmeter 结束统计响应时间标记

return sr;

}

/**

* 每个线程测试前执行一次,做一些初始化工作

*/

public void setupTest(JavaSamplerContext arg0) {

System.out.println("set Up Test");

}

/**

* 测试结束时调用;

*/

public void teardownTest(JavaSamplerContext arg0) {

System.out.println("down...");

}

public static void main(String[] args) {

System.out.println("test in main");

}

}

ps: 记得添加main方法

导出JAR包

把项目的JAR包导出

92cc5e85d02cee9c41bdb269a64c2311.png

加入JAR包

\apache-jmeter-3.2\lib\ext

490b066b8a3bb22d3becadf6e0b9fb4f.png

添加线程组

6dceec2c80ab4f77c8424bcbcb5164ad.png

加入JAVA请求配置

a9574d307c61643917f53f3a489737dd.png

可以找到刚刚的那个JAVA类

3a349d61e92b68e5dc448a54d097f937.png

添加察看结果树

添加察看结果树,然后运行,可以看到JAVA中输出的内容

d78a4d2995a7b8175893a71d32777d5b.png

加入聚合报告

f959d5c697ef12510480f7f59a1c7b98.png

传入JAVA接受参数参数

传入参数,并获取进行处理

String message = "test";

/**

* 设置可用参数及的默认值

*/

public Arguments getDefaultParameters() {

Arguments arguments = new Arguments();

arguments.addArgument("message", "hello world!");

return arguments;

}

在RUN中进行获取值

/**

* 开始测试,从arg0参数可以获得参数值;

*/

public SampleResult runTest(JavaSamplerContext arg0) {

message = arg0.getParameter("message");

SampleResult sr = new SampleResult();

sr.sampleStart();// jmeter 开始统计响应时间标记

sr.setResponseData("test:" + message, null);

sr.setDataType(SampleResult.TEXT);

sr.setSuccessful(true);

try {

Thread.sleep(10);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

sr.sampleEnd();// jmeter 结束统计响应时间标记

return sr;

}

记得每次修改需要重新导出JAR包,放入到ext下,然后重新启动jemeter,能看到参数设置

db1b0b10022d4fe0e233c272e650a769.png

收到参数

cc18703b82f3b66bde911d62e01704c6.png

性能报告,

0b74f72de34ae6c5e71a41dad10a37ae.png

这样就可以用JAVA去压测RPC接口了,(如dubbo接口的压测,长连接的压测等)

记录下,免得下次还得重新搜怎么做

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐