学习jmeter中如何调jar包

上一篇 / 下一篇  2010-02-25 21:52:33 / 天气: 阴雨 / 心情: 平静

这里我用到主要JMeter的线程和报表,扩展了他的“Java请求”这个应用类别。要扩展此应用,要用到lib/ext/ApacheJMeter_java.jar,他封装此应用。

    首先,需要继承ApacheJMeter_java.jar中的抽象类AbstractJavaSamplerClient,它提供了四个抽象方法: void setupTest(JavaSamplerContext arg0),SampleResult runTest(JavaSamplerContext arg0), void teardownTest(JavaSamplerContext arg0), Arguments getDefaultParameters()。setupTest和teardownTest与JUnit中的类似,分别在测试的开始和结束时执行。 runTest为主要测试方法,所有测试程序都在这里完成,JavaSamplerContext参数封装测试中需要的所有外界数据(如配置信息等)。其 SampleResult封装了所有测试结果(如:测试是否成功?程序执行时间等),getDefaultParameters用于把测试的一些默认数据在程序运行前显示到JMeter客户端,这个可以和runTest配合使用,实现数据的呈现和配置。

下面为程序:

package org.apache.jmeter.protocol.java.test;

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.bizlogic.icwallets.server.Test;

public class PcTest extends AbstractJavaSamplerClient

{

  private static String label = "pcTest";

  private String name;

  private String address;

  public void setupTest(JavaSamplerContext arg0)

  {

     System.out.println("setupTest");

  }

  public SampleResult runTest(JavaSamplerContext arg0)

  {

     name = arg0.getParameter("name");

     address = arg0.getParameter("address");

     SampleResult sr;

     sr = new SampleResult();

     sr.setSampleLabel(label);

     try

     { //这里调用我们要测试的java类,这里我调用的是一个Test

         Test test = new Test();

         test.start(null);

         sr.sampleStart(); // 记录程序执行时间,以及执行结果

         sr.setSuccessful(true);

         System.out.println("send over!");

      } catch (Throwable e)

      {  

         System.out.println("Exception is "+e.getMessage());

         sr.setSuccessful(false);

      } finally

      {

         sr.sampleEnd();

      }

     return sr;

  }

  public void teardownTest(JavaSamplerContext arg0)

  {

  }

  public Arguments getDefaultParameters()

  {

     Arguments params = new Arguments();

     params.addArgument("name", "JMeter");

     params.addArgument("address", "localhost");

     return params;

  }

}

如何将我们写的测试类加入到Jmeter中了?

   在Jmeter的lib/ext下有一个ApacheJMeter_java.jar, 首先解压ApacheJMeter_java.jar,解压后会出现一个org的文件夹,把写好的应用放在org.apache.jmeter.protocol.java.test里,将其打包成ApacheJMeter_java.jar(在dos中进入 C盘,执行“jar cf ApacheJMeter_java.jarorg” ,org文件夹放在C:盘),放到lib/ext下,JMeter运行时即可找到。同时还要把用户自己编写的应用所依赖的包放在lib下。运行JMeter。界面打开后,右键“测试计划”,添加线程组;右键“线程组”-添加-Sampler-Java请求,在类名称处选择刚才写好的类。


TAG:

 

评分:0

我来说两句

日历

« 2024-05-15  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 8479
  • 日志数: 10
  • 文件数: 1
  • 建立时间: 2007-04-11
  • 更新时间: 2010-04-03

RSS订阅

Open Toolbar