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 com.test.webservice.Hello;
public class perftestbbb extends AbstractJavaSamplerClient {
private String a;
private String b;
/** Holds the result data (shown as Response Data in the Tree display). */
private String resultData;
//這個方法是用來自定義java方法入參的。
//params.addArgument("num1","");表示入參名字叫num1,默認值為空。
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("num1","");
params.addArgument("num2","");
return params;
}
public void setupTest(JavaSamplerContext arg0) {
}
public SampleResult runTest(JavaSamplerContext arg0) {
a = arg0.getParameter("num1");
b = arg0.getParameter("num2");
SampleResult sr = new SampleResult();
try {
sr.sampleStart();// jmeter 開始統計響應時間標記
Hello test = new Hello();
//通過下面的操作可以將被測方法的響應輸出到Jmeter的察看結果樹中的響應數據里面了。
resultData = String.valueOf(test.sum(Integer.parseInt(a), Integer.parseInt(b)));
if (resultData != null && resultData.length() > 0) {
sr.setResponseData(resultData, null);
sr.setDataType(SampleResult.TEXT);
}
// 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) {
// System.out.println(end);
// System.out.println("The cost is"+(end-start)/1000);
}
//main只是為了調試用,后打jar包的時候注釋掉。
/* public static void main(String[] args) {
// TODO Auto-generated method stub
Arguments params = new Arguments();
params.addArgument("num1", "1");//設置參數,并賦予默認值1
params.addArgument("num2", "2");//設置參數,并賦予默認值2
JavaSamplerContext arg0 = new JavaSamplerContext(params);
perftestbbb test = new perftestbbb();
test.setupTest(arg0);
test.runTest(arg0);
test.teardownTest(arg0);
}*/
}
|