1.将写好的java项目导出jar包、和用到的jar,一起放到$apache-jmeter-2.11\lib\ext文件夹下:
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 :" + "\ngrade 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); } */ }