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);
}

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

  1. jmeter之java请求

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

  2. 使用Jmeter测试java请求

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

  3. 自定义编写jmeter的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","JavaV ...

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

    Java程序的入口---main()方法的签名为:public static void main(String[] args) {...} ,其中, ♦ public修饰符:Java类由JVM调用,为 ...

  5. 第4篇-JVM终于开始调用Java主类的main()方法啦

    在前一篇 第3篇-CallStub新栈帧的创建 中我们介绍了generate_call_stub()函数的部分实现,完成了向CallStub栈帧中压入参数的操作,此时的状态如下图所示. 继续看gene ...

  6. Java使用agent实现main方法之前

    创建Agent项目 PreMainExecutor 类,在main方法之前执行此方法 public class PreMainExecutor { public static void premain ...

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

    注释: 根据java语言规范,main方法必须声明为public. 当main方法不是public时,有些版本的java解释器也可以执行java应用程序.有个程序员报告了这个bug. 如果感兴趣可以查 ...

  8. 第29篇-调用Java主类的main()方法

    在第1篇中大概介绍过Java中主类方法main()的调用过程,这一篇介绍的详细一点,大概的调用过程如下图所示. 其中浅红色的函数由主线程执行,而另外的浅绿色部分由另外一个线程执行,这个线程最终也会负责 ...

  9. Main方法的执行过程(转)

    要运行一个 main 方法 , 首先要知道 main 方法所在的 Class, 在命令行中指定这个 Class 名 Class Lava{ Private int speed = 4; Void fl ...

随机推荐

  1. Mysql的union

    我同事写了一条Sql语句,当时没看明白,下面晒出来: SELECT SUM(new_cart) AS ipv, AS iuv FROM tablename WHERE id = 5 ) as t OR ...

  2. MySQL 批量杀mysql线程

    mysql> SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE user='root'; +---- ...

  3. python模块之linecache

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之linecache import linecache ''' >>> h ...

  4. nmake构建Geos库

    1.下载源码包 下载地址 http://download.osgeo.org/geos/geos-3.6.1.tar.bz2 下载之后解压即可. 2.编译 geos源码包中自带了makefile.vc ...

  5. SSM框架-使用MyBatis Generator自动创建代码

    参考:http://blog.csdn.net/zhshulin/article/details/23912615 SSM搭建的时候用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半 ...

  6. UAC 实现原理及绕过方法

    目录 0x00 UAC 工作流程 0x01 UAC 实现方法(用户登陆过程) 0x02 UAC 架构 0x03 触发UAC 0x04 UAC 虚拟化 0x05 UAC 逆向分析 1x00 UAC By ...

  7. mysql workbench图形化mysql管理工具

    MYSQL官网也推出了针对Linux的图形化的连接工具-MySQL Workbench.MySQL Workbench不仅仅是一个简单的MySQL客户端.简而言之,Workbench是一个跨平台的 ( ...

  8. Ubuntu18.04中配置QT5.11开发环境

    准备工作 参考 https://wiki.qt.io/Install_Qt_5_on_Ubuntu . # 安装g++ sudo apt install build-essential # sudo ...

  9. Dockerfile 构建前端node应用cnpm命令启动nodejs服务

    cat Dockerfile.node FROM centos MAINTAINER zha*****ch.cn ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share ...

  10. javascript TODO

    1.需要深入学习DOM对象知识,very important! http://www.w3school.com.cn/htmldom/index.asp 2.深入学习javascript RegExp ...