Jemeter测试流程:
1、将包放在ext目录下。
2、启动bin下面的jmeter.bat3、工程依赖的lib包需要导入到lib目录
4、在线程组中的添加配件元件,可以入参从文件中拉取。写好列名。CSV中不用列名。
下面为一个基本的Jmeter测试类:(引用了包:ApacheJMeter_core.jar ApacheJMeter_java.jar)
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
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.paic.amesb.facade.Msg;
import com.paic.amesb.facade.Otc;
import com.paic.amesb.facade.send.SendFacade;
import com.paic.pafa.app.dto.ServiceRequest;
public class updateReport extends AbstractJavaSamplerClient {
@Override
public void setupTest(JavaSamplerContext context) {
super.setupTest(context);
}
@Override
<span style="color:#330000;"> public SampleResult runTest(JavaSamplerContext context) {</span>
<span style="color:#cc0000;">SampleResult sampleresult = new SampleResult();</span>
ServiceRequest serviceRequest = new ServiceRequest();
EJBClient ejbClient = EjbPool.getEjbPoolInstance().getEjbClient();
List list = new ArrayList();
//入参,获取messageid,组装成List
<span style="color:#cc0000;"> String messages = context.getParameter("sequenceid");</span>
String[] message = messages.split(":");
for(int i=0;i<message.length;i++){
String sequenceid = message[i];
Map msg = getReportMap(sequenceid,i);
list.add(msg);
}
Otc otc = null;
try {
<span style="color:#cc0000;">// 调用amesb接口
sampleresult.sampleStart();</span>
System.out.println(list);
//网关更新Report
boolean i = ejbClient.updateSmscpReport(list);
System.out.println(i);
<span style="color:#993300;">sampleresult.sampleEnd();</span>
} catch (Exception e) {
e.printStackTrace();
}
sampleresult.setSuccessful(true);
return sampleresult;
}
@Override
public void teardownTest(JavaSamplerContext context) {
super.teardownTest(context);
}
@Override
public Arguments getDefaultParameters() {
Arguments args = new Arguments();
//在jmeter工具中获取参数
<span style="color:#cc0000;">args.addArgument("sequenceid", "${sequenceid}");</span>
return args;
}
//组装
public static Map getReportMap(String Sequence_ID,int i){
HashMap msgMap = new HashMap();
msgMap.put("Report_Status", "0");
//入参,从文件中获取
msgMap.put("Sequence_ID", Sequence_ID);
msgMap.put("Mobile_Number", "13973579589");
msgMap.put("GateWay_Channel", "29");
return msgMap;
}
}