Jmeter可以补扩展,从而创建自己的test plans. 下面的是一个简单的自定义的Java Request sampler, 并可以用Jmeter运行。
1. 新建一个Java Project,导入jmeter/lib/ext下的两个jar包:ApacheJMeter_core.jar和ApacheJMeter_java.jar。
package com.matt.jmeter;
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 MySimpleJavaSampler extends AbstractJavaSamplerClient {
private String name = null;
private String password = null;
public void setupTest(JavaSamplerContext arg0) {
//得到具体的参数
name = arg0.getParameter("Name");
password = arg0.getParameter("Password");
}
public SampleResult runTest(JavaSamplerContext arg0) {
SampleResult sr = new SampleResult();
sr.sampleStart();
//下面可以开始具体的操作
sr.setSamplerData("My name is "+ name+", \npassword is "+ password);
sr.setResponseMessage("It doesn't make sense, just test message.\n Your name is "+ name+", password is "+ password);
/* Searcher search = SearchFactory.creator(name, password);
// 实例化一个page对象
Page page = new Page();
// 设置每页显示的条数
page.setEveryPage(50);
// 设置首次显示为第一页
page.setCurrentPage(2);
Result re = search.search(page);
List<OutShow> outShows = re.getContent();
//结束
*/
sr.sampleEnd();
sr.setSuccessful(true);
return sr;
}
public void teardownTest(JavaSamplerContext arg0) {
}
public Arguments getDefaultParameters() {
Arguments args = new Arguments();
args.addArgument("Name", "Matt");
args.addArgument("Password", "test123");
return args;
}
}
2. 将project导出为jar包,放到jmeter/lib/ext下,重启jmeter。
3. 在Thread Group上是右击,Add-->Sampler-->Java Request。
4. 可以设置Name和Password的值