package jmeter_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;
import jmeter_java.execl2;
public class test extends AbstractJavaSamplerClient {
private MathTest test=null;
private String a;
private String b;
private String resultData;
private static long start = 0;
private static long end = 0;
// 这个方法是用来自定义java方法入参的。
// params.addArgument("num1","");表示入参名字叫num1,默认值为空。
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("Number", "");
params.addArgument("filename", "");
return params;
}
public void setupTest(JavaSamplerContext arg0) {
test = new MathTest();
a = arg0.getParameter("Number");
b = arg0.getParameter("filename");
start = System.currentTimeMillis();
}
//开始测试,从arg0参数可以获得参数值;
public SampleResult runTest(JavaSamplerContext arg0) {
SampleResult sr = new SampleResult();
sr.setSamplerData("请求参数Number:"+a+"\n请求参数filename:"+b);
try {
sr.sampleStart();// jmeter 开始统计响应时间标记
// 通过下面的操作就可以将被测方法的响应输出到Jmeter的察看结果树中的响应数据里面了。
execl2 test = new execl2();
test.setExcelData(b,a);
// 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) {
end = System.currentTimeMillis();
// 总体耗时
System.err.println("cost time:" + (end - start) + "毫秒");
}
public static void main(String[] args) {
Arguments params = new Arguments();
params.addArgument("Number", "666");//设置参数,并赋予默认值1
params.addArgument("filename", "D://18.8.8.xlsx");//设置参数,并赋予默认值2
JavaSamplerContext arg0 = new JavaSamplerContext(params);
test test = new test();
test.setupTest(arg0);
test.runTest(arg0);
test.teardownTest(arg0);
}
}