Jmeter发送Java请求

时间:2023-12-30 17:54:38

1、创建一个Java工程

Jmeter发送Java请求

Jmeter发送Java请求

2、把Jmeter的lib\ext目录下的ApacheJMeter_java.jar、ApacheJMeter_core.jar文件添加进该项目的Build Path

Jmeter发送Java请求

Jmeter发送Java请求

Jmeter发送Java请求

3、创建一个test包

Jmeter发送Java请求

Jmeter发送Java请求

4、创建一个Hello类

Jmeter发送Java请求

Jmeter发送Java请求

5、Hello类代码如下:

package test;

public class Hello {
public String sayHello()
{
return "Hello";
}
public int sum(int a,int b)
{
return a+b;
}
}

6、添加类Perftest,并继承AbstractJavaSamplerClient,并添加代码如下:

package test;

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import test.Hello;

public class Perftest extends AbstractJavaSamplerClient {
private String a;
private String b;

private String resultData;

// 这个方法是用来自定义java方法入参的。
// params.addArgument("num1","");表示入参名字叫num1,默认值为空。
// 设置可用参数及的默认值;
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("num1", "");//未设默认值
params.addArgument("num2", "");
return params;
}

// 每个线程测试前执行一次,做一些初始化工作;
public void setupTest(JavaSamplerContext arg0) {
}

// 开始测试,从arg0参数可以获得参数值;
public SampleResult runTest(JavaSamplerContext arg0) {
a = arg0.getParameter("num1");
b = arg0.getParameter("num2");
SampleResult sr = new SampleResult();
sr.setSampleLabel("Java求两个数和");

try {
sr.sampleStart();// jmeter 开始统计响应时间标记
Hello test = new Hello();
// 通过下面的操作就可以将被测方法的响应输出到Jmeter的察看结果树中的响应数据里面了。
resultData = String.valueOf(test.sum(Integer.parseInt(a), Integer
.parseInt(b)));
if (resultData != null && resultData.length() > 0) {
sr.setResponseData("两个数相加结果是:"+resultData, null);
sr.setDataType(SampleResult.TEXT);
}
System.out.println(resultData);
sr.setSuccessful(true);
} catch (Throwable e) {
sr.setSuccessful(false);
e.printStackTrace();
} finally {
sr.sampleEnd();// jmeter 结束统计响应时间标记
}
return sr;
}

// 测试结束时调用;
public void teardownTest(JavaSamplerContext arg0) {
//System.out.println(end);
// System.out.println("The cost is"+(end-start)/1000);
}

}

7、使用eclipse打成jar包,选中包名test-->Export-->选择JAR file,然后选择输入路径完成就OK了

Jmeter发送Java请求

Jmeter发送Java请求

Jmeter发送Java请求

8、将此jar包放入Jmeter的\lib\ext目录下

Jmeter发送Java请求

9、打开Jmeter创建线程组、Java Request、查看结果树(如果Jmeter已经打开,需要重新打开)

输入测试的值

Jmeter发送Java请求

10、执行结果

Jmeter发送Java请求