1.准备工作
开发jmeter的java插件需要引入两个包"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar",位于Jmeter的安装目录lib/ext 下
在java工程中,导入这两个包
2.开发步骤
jmeter插件需要继承 AbstractJavaSamplerClient,这点需要注意,如果不继承,那么这个开发包在jmeter的选项中将不可见
继承"AbstractJavaSamplerClient"类,会获得"getDefaultParameters","setupTest","runTest"和"teardownTest"方法
3.代码
package cn.customer.jmeter;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.security.MessageDigest;
import java.sql.DriverManager;
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 cn.customer.jmeter.Util;
/**
*
* @author Alex
*/
public class DoSign extends AbstractJavaSamplerClient {
/* 声明全局变量 取样器结果集 和默认参数 */
private SampleResult results;
private String defautargs;
private String ip;
private String port;
private String dbname;
private String username;
private String password;
private String tbname;
private String rowindex;
private String secrect;
private String transparams;
/* Implements JavaSamplerClient.setupTest(JavaSamplerContext) */
public void setupTest(JavaSamplerContext arg0) {
results = new SampleResult();
results.setSamplerData(toString());
results.setDataType("text");
results.setContentType("text/plain");
results.setDataEncoding("UTF-8");
results.setSuccessful(true);
results.setResponseMessageOK();
results.setResponseCodeOK();
defautargs = arg0.getParameter("defautargs", "");
if (defautargs != null && defautargs.length() > 0) {
results.setSamplerData(defautargs);
}
}
/* Implements JavaSamplerClient.teardownTest(JavaSamplerContext) */
public void teardownTest(JavaSamplerContext arg0) {
System.out.println("treaddown");
}
/* Implements JavaSamplerClient.getDefaultParameters() */
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("ip", "172.30.100.12"); // 定义一个参数,显示到Jmeter的参数列表中,第一个参数为参数默认的显示名称,第二个参数为默认值
params.addArgument("port", "3388");
params.addArgument("dbname", "qatest");
params.addArgument("username", "qatest");
params.addArgument("password", "qatest