Jmeter-Java 工程测试(3)

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 org.apache.log.Logger;



//定义一个求和类
class Sum{
    public int sum(int a,int b) {
        return a+b;
    }
}

//测试那个求和类,而再定义的一个类
public class TestSum extends AbstractJavaSamplerClient{
    private Logger log = getLogger();
    private String num1;
    private String num2;
    private String resultData;
    
    //为Jmeter调用此jar包时,提供默认的参数名称num1、num2;注意:方法名称一定得是getDefaultParameters,否则Jmeter无法调用
    //设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中.
    public Arguments getDefaultParameters() {
        Arguments param = new Arguments();
        param.addArgument("num1", "");
        param.addArgument("num2", "");
        return param;
    }
    
    
    //每个线程测试前执行一次,做一些初始化工作
    public void setupTest(JavaSamplerContext arg0) {
        
    }


    //开始测试,从arg0参数可以获得参数值
    @Override
    public SampleResult runTest(JavaSamplerContext arg0) {
        SampleResult result = new SampleResult();
        //定义事务的开始
        result.sampleStart();
        num1=arg0.getParameter("num1");
        num2=arg0.getParameter("num2");
        //设置setSampleLabel是指:在Jmeter的察看结果树中,左边的Text显示的请求的名称,这里相当于是命令了一个别名
        result.setSampleLabel("Java 计算哦");
        
        Sum testsum = new Sum();
        //Integer.parseInt(num1)将字符串num1转换成整型int;String.valueOf(int i)将整型i转换成字符串
        resultData = String.valueOf(testsum.sum(Integer.parseInt(num1),Integer.parseInt(num2)));
        if(resultData !=null && resultData.length()>0) {
            //result.setSamplerData(resultData);
            //设置setResponseData,是为了在Jmeter中测试请求时,在察看结果树中的响应数据:可查看该响应结果,否在响应数据是为空的
            result.setResponseData("结果是:"+resultData, null);
            log.info("求和结果是:"+resultData);
            result.setSuccessful(true);
        }else {
            result.setSuccessful(false);
        }
        //定义事务的结束
        result.sampleEnd();
        return result;
    }
    
    
    public void teardownTest(JavaSamplerContext arg0) {
        
    }
    
    
    //本地调试的方法,打包时需要将此注释掉
    public static void main(String[] args) {
        Arguments param = new Arguments();
        param.addArgument("num1", "10");
        param.addArgument("num2", "20");
        JavaSamplerContext arg0 =  new JavaSamplerContext(param);
        TestSum test = new TestSum();
        test.setupTest(arg0);
        test.runTest(arg0);
        test.teardownTest(arg0);
    }
    
}
Jmeter-Java 工程测试(3)_第1张图片
JmeterJava.png

你可能感兴趣的:(Jmeter-Java 工程测试(3))