java接口压测 继承jmeter的类

import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class QueryOrderPage implements JavaSamplerClient {
    static ApplicationContext act = new ClassPathXmlApplicationContext("spring-config-jsf.xml");
    JmiOrderQueryPageService jmiOrderQueryPageService = null;
    public Arguments getDefaultParameters() {
        Arguments args = new Arguments();

//设置参数化数据
       args.addArgument("userpin", "bbbbbb3");
        return args;
    }
    public void setupTest(JavaSamplerContext arg0) {
        try {
            this.jmiOrderQueryPageService = act.getBean( "jmiOrderQueryPageService", JmiOrderQueryPageService.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public SampleResult runTest(JavaSamplerContext arg0) {
        SampleResult result = new SampleResult();
        String userpin = arg0.getParameter("userpin");
          //调用接口的代码
        JmiOrderQuery orderQuery = new JmiOrderQuery();
        orderQuery.setUserPin(userpin);   
        try {

//事务开始
            result.sampleStart();

  //调用方法
            JmiPageResult jmiPageResult = jmiOrderQueryPageService
                    .queryOrderPage(orderQuery, pageQuery);
            if (jmiPageResult != null) {

//判断事务是否成功
                result.setSuccessful(true);
            }
        } catch (JmiException e) {
            result.setSuccessful(false);
            e.printStackTrace();
        }

//事务结束
        result.sampleEnd();
        return result;
    }


    public void teardownTest(JavaSamplerContext arg0) {
    }
    public static void main(String[] args) {
        QueryOrderPage css = new QueryOrderPage();
        JavaSamplerContext arg0 = new JavaSamplerContext(
                css.getDefaultParameters());
        css.setupTest(arg0);
        css.runTest(arg0);
        css.teardownTest(arg0);
    }
}



原文地址:https://www.cnblogs.com/upcgg/p/5200013.html