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

1、新建一个java请求执行加法类

public class TestDemo {
    public int Tdemo(int a,int b){
        int sum = 0;
        sum = a+b;
        return sum;
    }
}

2、再建一个jmeter的java请求类

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 TestLength extends AbstractJavaSamplerClient{
    private SampleResult results;
    private String a;
    private String b;
    private String sum;
  //设置可用参数及的默认值;
    public Arguments getDefaultParameters() {
        Arguments params = new Arguments();
        params.addArgument("num1","");
        params.addArgument("num2","" );
        return params;
    }

    //初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行,类似于LoadRunner中的init方法
    public void setupTest(JavaSamplerContext arg0) {
         results = new SampleResult();
    }

    //测试执行的循环体,根据线程数和循环次数的不同可执行多次,类似于LoadRunner中的Action方法
    public SampleResult runTest(JavaSamplerContext arg0) {
         a = arg0.getParameter("num1");
         b = arg0.getParameter("num2");
         results.sampleStart();     //定义一个事务,表示这是事务的起始点,类似于LoadRunner的lr.start_transaction
         try{
             TestDemo test = new TestDemo();
             sum = String.valueOf(test.Tdemo(Integer.parseInt(a), Integer.parseInt(b)));
            if (sum != null && sum.length() > 0) {
                 results.setResponseData("结果是:"+sum, null);
                 results.setDataType(SampleResult.TEXT);
             }//会显示在结果树的响应数据里
             System.out.println(sum);//会输出在Jmeter启动的命令窗口中
             results.setSuccessful(true);
         }catch(Throwable e){
             results.setSuccessful(false);
             e.printStackTrace();
         }finally{
             results.sampleEnd();     //定义一个事务,表示这是事务的结束点,类似于LoadRunner的lr.end_transaction
         }
       return results;
    }

    //结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行,类似于LoadRunner中的end方法
    public void teardownTest(JavaSamplerContext arg0) {
    }   

    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);
        TestLength test = new TestLength();
        test.setupTest(arg0);
        test.runTest(arg0);
        test.teardownTest(arg0);
    }
}

这里面有个main方法,可以在这个main方法里面调试 jmeter的java请求代码

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);
        TestLength test = new TestLength();
        test.setupTest(arg0);
        test.runTest(arg0);
        test.teardownTest(arg0);
    }

原文地址:https://www.cnblogs.com/a00ium/p/10360432.html

时间: 2024-10-13 06:47:30

jmeter 的java请求代码在main方法里面执行的相关文章

使用Jmeter测试java请求

1.性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发.打包好要测试的代码,就能在Java请求中对该java方法进行性能测试2.本文举的例子是Java实现通过传入两个参数,将值写入到文件中 开发思路1.使用Eclipse创建Maven 项目,配置Pom文件,引入Jmeter开发Java请求所需的依赖包:2.创建输入参数类,和测试类,然后继承JavaSamplerClient,实现四个主方法:3.对编写好的项目进行编译.打包4.把

Java程序入口:main()方法讲解

Java程序的入口---main()方法的签名为:public static void main(String[] args) {...} ,其中, ? public修饰符:Java类由JVM调用,为了让JVM可以自由调用这个main()方法,所以使用public修饰符把这个方法暴露出来. ? static修饰符:JVM调用这个主方法时,不会先创建该主类的对象,然后通过对象来调用该主方法.JVM直接通过该类来调用主方法,因此使用static修饰该主方法. ? void返回值:因为主方法被JVM调

java语言规范,main方法必须声明为public

注释: 根据java语言规范,main方法必须声明为public. 当main方法不是public时,有些版本的java解释器也可以执行java应用程序.有个程序员报告了这个bug. 如果感兴趣可以查一下这个bug号码4252539.这个bug被标明"关闭",不予修复.Sun公司的工程师解释说:java虚拟规范并没有要求main方法一定是public. 好在,这个问题在 java SE1.4及以后的版本中强制main方法是public 最终的到了解决.

hadoop;RPC;调用接口;cmd的jps查看java进程;有main方法的类才能产生进程

实验平台: redhat 6    以安装 安装步骤: (1):在网上找到自己想要的交叉工具链安装包 (2):解压自己的安装包   ; tar -xzvf arm-linux-gcc-4.3.2.tar.gz   -C /     解压到或目录 或tar  -xjvf   arm-linux-gcc-3.4.5.tar.bz2   -C / 在解压的过程中我们可以看到,其可执行程序,被解压到/usr/local/arm/3.4.5/bin, (4):修改配置文件 vim  /etc/profil

Main方法的执行过程(转)

要运行一个 main 方法 , 首先要知道 main 方法所在的 Class, 在命令行中指定这个 Class 名 Class Lava{ Private int speed = 4; Void flow(){ } } Class Volcano{ Public static void main(String[]  args){ Lava lava = new Lava(); lava.flow(); } } Java Lava 1.        当虚拟机接受到这样的命令后 , 就从 clas

怎样使代码在main函数前执行,怎样使代码在main函数之后执行

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 网上有说可以用 __attribute__ ((constructor)) 来让函数在main函数之前执行, __attribute__ ((destructor)) 来让函数在main函数之后执行. 比如说像下面这样声明函数 void before(void) __attribute__ ((constructor)); void after(void) __attribute__ ((

第二篇--Jmeter测试Java请求

前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的ApacheJMeter_core.jar和ApacheJMeter_java.jar复制到lib下,然后导入下图jar包   2.AbstractJavaSamplerClient是Java请求的核心接口,实现接口AbstractJavaSamplerClient,sampleResult的开始和结束方

利用jmeter发起java请求调用shell脚本

1.创建maven项目 在pom文件中加入依赖: 2.在路径src/main/java下创建类,如类名shellclass 3.      创建jmeter调用类,如jmtershell,完成jmetershell编写后导出成jar包. 3.     将shelljmeter.jar放入jmeter安装路径\lib\ext目录下:将依赖的maven包ganymed-ssh2-210-huson-1.jar放入jmeter安装路径\lib路径下. 4.         在jmeter中创建java

简述java程序中的main方法

简述main方法: 在java语言程序编写时都会涉及到一个main方法,它的格式为: public static void main(String[] args)(一般必须这么定义,这是java规范) 在这里修饰符public和static的顺序是可以互换的.但是根据java的惯例,一般把public放在前面,后面的参数名args是不固定的,开发者可以任意命名. 1) public关键字指可以其他类可以访问这个函数. 2) static 关键字指静态函数,调用时不会实例化(即不能创建对象)(静态