1.将写好的java项目导出jar包、和用到的jar,一起放到$apache-jmeter-2.11libext文件夹下:
showpack.jar、httpclient(commons-codec-1.6.jar、commons-httpclient-3.0.jar、commons-logging-1.1.3.jar)
2.sampler-java request,选择jmeter的测试类。
3.具体操作:::
elipse用到的jar:
logkit-2.0.jar、jorphan.jar、avalon-framework-4.1.4.jar、ApacheJMeter_core.jar、ApacheJMeter_java.jar
代码:
package com.httpclient;
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 Jtest extends AbstractJavaSamplerClient {
private String grade = "", subject = "";public void setupTest(JavaSamplerContext arg0) {
System.out.println("setupTest");}
public void teardownTest(JavaSamplerContext arg0) {
System.out.println("teardown");
}public SampleResult runTest(JavaSamplerContext arg0) {
grade = arg0.getParameter("grade"); // 得到参数
subject = arg0.getParameter("subject");
SampleResult sr = new SampleResult(); //创建SampleResult的对象
sr.setSampleLabel("selectpack"); // 响应名称
try {
sr.sampleStart(); // sample开始
DzPack dz = new DzPack(); // 实例化httpclient的类
String resultdata = dz.getPack(grade, subject); // 取得httpclient实例化对象的getpack方法返回值
sr.setDataEncoding("UTF-8"); // 设置响应的编码格式
sr.setResponseData(resultdata, null); // 设置响应内容
// System.out.println(resultdata);
sr.setSuccessful(true); // sample成功
sr.setResponseCodeOK(); //
sr.setRequestHeaders("request for :" + " grade is " + grade
+ " ; " + "subject is " + subject + " ; "); // 设置请求头
} catch (Throwable e) {
sr.setSuccessful(false); // 异常时,sample失败
e.printStackTrace();
} finally {
sr.sampleEnd(); // 结束sample
}
return sr;
}// 设置默认参数
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("grade", "1039");
params.addArgument("subject", "1001");
return params;
}
/*eclipse测试
* public static void main(String[] args) {
* Jtest jt = new Jtest();
* JavaSamplerContext arg0 = new JavaSamplerContext(new Arguments());
* jt.setupTest(arg0);
* jt.runTest(arg0);
* jt.teardownTest(arg0); }
*/
}