Jmeter压力测试-自定义java请求

这里简单说明一下怎么自定义java请求,并利用jmeter作压力测试,但愿不只对测试人员,对开发人员也有帮助。java

1 建立java请求类

1) 在eclipse中建立一个java项目apache

2) 导入Jmeterhome/lib/ext下的两个包:ApacheJMeter_java.jar和ApacheJMeter_core.jar服务器

3) 建立一个继承于AbstractJavaSamplerClient的java类eclipse

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;
public class javaRequest extends AbstractJavaSamplerClient {
       //自定义变量
       private SampleResult results;
       private String var1=null;
       private String var2=null;    
   
      //设置传入的参数,能够设置多个,已设置的参数会显示到Jmeter的参数列表中
     @Override
      public Arguments getDefaultParameters() {
          Arguments params = new Arguments();
          params.addArgument("param1","");
          params.addArgument("param2","");
          return params;
      }

        //初始化方法,实际运行时每一个线程仅执行一次,在测试方法运行前执行
        @Override
      public void setupTest(JavaSamplerContext arg0){
             //如下是举例代码
            results = new SampleResult();
            var1 = arg0.getParameter("param1");   //获取在Jmeter中设置的参数值
            if (var1 != null && var1.length() > 0) {
                results.setSamplerData(var1);
            }
            var2=arg0.getParameter("param2");
            if (var2 != null && var2.length() > 0) {
                results.setSamplerData(var2);
             }
        }

        //测试执行的循环体,根据线程数和循环次数的不一样可执行屡次
        @Override
        public SampleResult runTest(JavaSamplerContext arg0) {
            SampleResult result = new SampleResult();

                boolean success = true;
                //事务的起点
                result.sampleStart();

                // 这里可引用var一、var2编写您的测试代码.

                //事务的终点
                result.sampleEnd();
                //设置本次事务成功或失败
                result.setSuccessful(success);

                return result;

        }

      //结束方法,实际运行时每一个线程仅执行一次,在测试方法运行结束后执行
        @Override
        public void teardownTest(JavaSamplerContext arg0){
            driver.quit();
              String verificationErrorString = verificationErrors.toString();
              if (!"".equals(verificationErrorString)) {
                fail(verificationErrorString);
                System.out.println(verificationErrorString); 

              }
        super.teardownTest(arg0);
        }
}

2 引入jar包

将以上project导出为jar包,放到jmeter/lib/ext下,重启jmeter。ide

3 添加线性组

添加线性组

4 添加java request

添加java request

选择自定义的类,设置对应的参数值。测试

选择自定义的类

5 添加监控

聚合报告:ui

聚合报告

服务器参数监控:线程

服务器监控

相关文章
相关标签/搜索