Bootstrap

jmeter的java请求参数设置_Jmeter压力测试-自定义java请求 原创

这里简单说明一下怎么自定义java请求,并利用jmeter做压力测试,希望不仅对测试人员,对开发人员也有帮助。

1 创建java请求类

1) 在eclipse中创建一个java项目

2) 导入Jmeterhome/lib/ext下的两个包:ApacheJMeter_java.jar和ApacheJMeter_core.jar

3) 创建一个继承于AbstractJavaSamplerClient的java类

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;

public class javaRequest extends AbstractJavaSamplerClient {

//自定义变量

private SampleResult results;

private String var1=null;

private String var2=null;

//设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中

@Override

public Arguments getDefaultParameters() {

Arguments params = new Arguments();

params.addArgument("param1","");

params.addArgument("param2","");

return params;

}

//初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行

@Override

public void setupTest(JavaSamplerContext arg0){

//以下是举例代码

results = new SampleResult();

var1 = arg0.getParameter("param1"); //获取在Jmeter中设置的参数值

if (var1 != null && var1.length() > 0) {

results.setSamplerData(var1);

}

var2=arg0.getParameter("param2");

if (var2 != null && var2.length() > 0) {

results.setSamplerData(var2);

}

}

//测试执行的循环体,根据线程数和循环次数的不同可执行多次

@Override

public SampleResult runTest(JavaSamplerContext arg0) {

SampleResult result = new SampleResult();

boolean success = true;

//事务的起点

result.sampleStart();

// 这里可引用var1、var2编写您的测试代码.

//事务的终点

result.sampleEnd();

//设置本次事务成功或失败

result.setSuccessful(success);

return result;

}

//结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行

@Override

public void teardownTest(JavaSamplerContext arg0){

driver.quit();

String verificationErrorString = verificationErrors.toString();

if (!"".equals(verificationErrorString)) {

fail(verificationErrorString);

System.out.println(verificationErrorString);

}

super.teardownTest(arg0);

}

}

2 引入jar包

将以上project导出为jar包,放到jmeter/lib/ext下,重启jmeter。

3 添加线性组

e4ed31c633893675d56e8c81649a34ae.png

4 添加java request

5a51083a3be2a325943cb73622ad43b2.png

选择自定义的类,设置对应的参数值。

a2988bc685bce9e85ea9939c7f3a28b7.png

5 添加监控

聚合报告:

8d44028be6afad33ac26390d23bbaee4.png

服务器参数监控:

8ce3dd235979e0d346bcee4c30bd13c2.png

;