Jmeter执行Java请求
(QQ交流群:577439379)

一、打开Eclipse,创建一个Java工程

  

二、拷贝jmeter所依赖的jar包

  将jmeter中,\lib\ext目录下的ApacheJMeter_core.jar、ApacheJMeter_java.jar两个jar文件,放到工程的libs文件中,并添加到build path目录下。

三、创建一个类,实现被测试的业务

  public class MathTest {

    public int sum(int a,int b)
    {
      return a+b;
    }

   }

四、创建一个执行性能测试Java请求的类,实现JavaSamplerClient接口或继承AbstractJavaSamplerClient,并重写四个方法

   public Arguments getDefaultParameters();设置可用参数及其默认值;
  public void setupTest(JavaSamplerContext arg0);执行初始化工作,每个线程测试前执行一次;
  public SampleResult runTest(JavaSamplerContext arg0);执行业务测试方法,从arg0参数可以获得参数值;
  public void teardownTest(JavaSamplerContext arg0);测试结束时调用;

  具体实现:

  public class JavaSampler extends AbstractJavaSamplerClient {

    public MathTest test = null;
    private String a;
    private String b;
    private String resultData;
    private static long start = 0;
    private static long end = 0;

    //自定义java方法入参
    public Arguments getDefaultParameters(){
      Arguments param = new Arguments();
      param.addArgument("num1", "");
      param.addArgument("num2", "");
      return param;
    }

    //初始化,每个线程执行之前做一些初始化操作
    public void setupTest(JavaSamplerContext arg0){
      test = new MathTest();
      a = arg0.getParameter("num1");
      b = arg0.getParameter("num2");
      start = System.currentTimeMillis();
    }

    //开始测试,arg0,接收参数
    @Override
    public SampleResult runTest(JavaSamplerContext arg0) {
      SampleResult sr = new SampleResult();
      sr.setSamplerData("参数1: "+a+"参数2: "+b);
      sr.sampleStart();//开始计时
      resultData = String.valueOf(test.sum(Integer.parseInt(a), Integer.parseInt(b)));
      if(resultData!=null&&resultData.length()>0){
        sr.setResponseData("结果是:" + resultData,null);
        sr.setDataType(SampleResult.TEXT);
      }
      sr.setSuccessful(true);
      sr.sampleEnd();
      return sr;
    }

    //线程结束时调用
    public void teardownTest(JavaSamplerContext arg0){
      end = System.currentTimeMillis();
    // 总体耗时
      System.err.println("cost time:" + (end - start) + "毫秒");
    }

    // public static void main(String[] args) {
      // Arguments params = new Arguments();
      // params.addArgument("num1", "1");//设置参数,并赋予默认值1
      // params.addArgument("num2", "2");//设置参数,并赋予默认值2
      // JavaSamplerContext arg0 = new JavaSamplerContext(params);
      // JavaSampler test = new JavaSampler();
      // test.setupTest(arg0);
      // test.runTest(arg0);
      // test.teardownTest(arg0);
      // }

    }

五、Export为Runnable Jar File
六、将此jar包放入JMETER_HOME\lib\ext目录
七、以管理员身份打开JMeter
  创建线程组,添加Java Request,选择刚刚导出的jar包

  

  输入参数值,num1和num2的计算数值,添加查看结果树,进行测试,查看结果

  

  查看响应数据:

  

Jmeter执行Java请求的更多相关文章

  1. jmeter 的java请求代码在main方法里面执行

    1.新建一个java请求执行加法类 public class TestDemo { public int Tdemo(int a,int b){ int sum = 0; sum = a+b; ret ...

  2. jmeter之java请求

    通常情况下,推荐使用jmeter之java请求编写一beashell调用java代码(上篇)(推荐)编写Java 请求 有以下优势 脚本易维护 易调试 开发脚本周期短 不过网上扩展java请求文章比较 ...

  3. 使用Jmeter测试java请求

    1.性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发.打包好要测试的代码,就能在Java请求中对该java方法进行性能测试2.本文 ...

  4. Jmeter 执行java脚本结束时提示:he JVM should have exitted but did not

    使用jmeter执行java协议测试结束时会提示:he JVM should have exitted but did not ,jmeter2.11以后的可以 通过设置:      jmeteren ...

  5. 转:JMeter进行Java 请求测试

    本文转自:http://blog.csdn.net/xiazdong/article/details/7873767 向原作者致敬,看了他的文章才让我顺利解决了JMeter测试中的问题,万分感谢! 目 ...

  6. 第二篇--Jmeter测试Java请求

    前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的Apa ...

  7. Jmeter自定义Java请求,继承AbstractJavaSamplerClient

    首先,使用Eclipse新建一个项目,然后从Jmeter的lib/ext目录下中拷贝ApacheJMeter_java.jar和ApacheJMeter_core.jar两个文件,然后引入这两个JAR ...

  8. jmeter(二十二)jmeter测试Java请求

    目的:对Java程序进行测试 目录 一.核心步骤 二.实例 三.JMeter Java Sampler介绍 四.自带Java Request Sampler 一.核心步骤 1.创建一个Java工程: ...

  9. Jmeter执行java脚本结束时提示:The JVM should have exited but did not.

    使用jmeter对dubbo进行压测时,需要使用jmeter的sampler里的java请求 使用./jmeter.sh -n -t test.jmx -l test.jmx -o -e test后台 ...

随机推荐

  1. java 读CSV 和 Excel

    1.csv和excel读写对比 开发中经常遇到数据导入和导出功能,csv 和 excel是最常见的数据格式,本文比较了下csv和excel读写相同数据的效率: 测试数据格式一 用上面模板数据生成的测试 ...

  2. bzoj2456 / P2397 yyy loves Maths VI (mode)

    P2397 yyy loves Maths VI (mode) 神奇的摩尔投票法(大雾) 保证众数个数大于一半. 两两相消,剩下的那个必定是众数. 我们只要开2个变量,一个存个数,一个存值即可. (l ...

  3. 20145326《Java程序设计》第二周学习总结

    20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对 ...

  4. 20162326 qilifeng 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1

    <网络对抗技术>第1次作业 (一)作业任务 1.安装kali 2.设置共享文件夹 (二)操作过程 1.安装kali 因为之前安装过Oracle 的VM VirtualBox 所以直接 进入 ...

  5. ExtJS错误解决 Cannot read property 'on' of undefined

    背景 用ExtJS新写了一个功能,运行时控制台打印错误Cannot read property 'on' of undefined,出错代码位置是Ext.define.bindStoreListene ...

  6. Java多线程,线程交替执行

    两个线程,一个打印1-100的奇数,一个打印1-100的偶数:要求:线程1打印5个之后,线程2开始打印,线程2打印5个之后,线程1再开始打印,以此循环. Code: package com.qhong ...

  7. 记第一场atcoder和codeforces 2018-2019 ICPC, NEERC, Northern Eurasia Finals Online Mirror

    下午连着两场比赛,爽. 首先是codeforses,我和一位dalao一起打的,结果考炸了,幸亏不计rating.. A Alice the Fan 这个就是记忆化搜索一下预处理,然后直接回答询问好了 ...

  8. IIS Express 添加MIME映射

    IIS Express没有提供图形化界面来配置MIME类型,但提供了配置MIME类型的命令行工具. IIS Express中添加MIME映射.操作如下: 在DOS窗口下进入IIS Express安装目 ...

  9. BZOJ 1875 【SDOI2009】 HH去散步

    题目链接:HH去散步 如果不考虑不能走上一次走的边的话,这道题就是一个矩乘的裸题. 现在有了这个条件其实也很好做.我们平常的矩阵都是按点建的,\(A_{i,j}\)表示从第\(i\)个点走到第\(j\ ...

  10. c# lambda表达式学习

    1. 普通绑定: public void button1_Click(object sender, EventArgs e) { MessageBox.Show("ok"); } ...