Jmeter执行Java请求
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请求的更多相关文章
- jmeter 的java请求代码在main方法里面执行
1.新建一个java请求执行加法类 public class TestDemo { public int Tdemo(int a,int b){ int sum = 0; sum = a+b; ret ...
- jmeter之java请求
通常情况下,推荐使用jmeter之java请求编写一beashell调用java代码(上篇)(推荐)编写Java 请求 有以下优势 脚本易维护 易调试 开发脚本周期短 不过网上扩展java请求文章比较 ...
- 使用Jmeter测试java请求
1.性能测试过程中,有时候开发想对JAVA代码进行性能测试,Jmeter是支持对Java请求进行性能测试,但是需要自己开发.打包好要测试的代码,就能在Java请求中对该java方法进行性能测试2.本文 ...
- Jmeter 执行java脚本结束时提示:he JVM should have exitted but did not
使用jmeter执行java协议测试结束时会提示:he JVM should have exitted but did not ,jmeter2.11以后的可以 通过设置: jmeteren ...
- 转:JMeter进行Java 请求测试
本文转自:http://blog.csdn.net/xiazdong/article/details/7873767 向原作者致敬,看了他的文章才让我顺利解决了JMeter测试中的问题,万分感谢! 目 ...
- 第二篇--Jmeter测试Java请求
前提:需要准备eclipse作为开发工具,安装jdk,准备完毕,接下来开工喽! 1.新建Java工程BMIrisJNIJarTest,新建lib目录,将Jmeter安装目录下lib/ext包下的Apa ...
- Jmeter自定义Java请求,继承AbstractJavaSamplerClient
首先,使用Eclipse新建一个项目,然后从Jmeter的lib/ext目录下中拷贝ApacheJMeter_java.jar和ApacheJMeter_core.jar两个文件,然后引入这两个JAR ...
- jmeter(二十二)jmeter测试Java请求
目的:对Java程序进行测试 目录 一.核心步骤 二.实例 三.JMeter Java Sampler介绍 四.自带Java Request Sampler 一.核心步骤 1.创建一个Java工程: ...
- 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后台 ...
随机推荐
- Vue学习笔记之Vue学习前的准备工作
0x00 起步 1.扎实的HTML/CSS/Javascript基本功,这是前置条件. 2.不要用任何的构建项目工具,只用最简单的<script>,把教程里的例子模仿一遍,理解用法.不推荐 ...
- SQL学习笔记二之MySQL的数据库操作
阅读目录 一 系统数据库 二 创建数据库 三 数据库相关操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限 ...
- Filter execute order in asp.net web api
https://stackoverflow.com/questions/21628467/order-of-execution-with-multiple-filters-in-web-api Som ...
- 51nod 1042 数字0-9的数量
给出一段区间a-b,统计这个区间内0-9出现的次数. 比如 10-19,1出现11次(10,11,12,13,14,15,16,17,18,19,其中11包括2个1),其余数字各出现1次. Inp ...
- BZOJ3944: Sum(杜教筛模板)
BZOJ3944: Sum(杜教筛模板) 题面描述 传送门 题目分析 求\(\sum_{i=1}^{n}\mu(i)\)和\(\sum_{i=1}^{n}\varphi(i)\) 数据范围线性不可做. ...
- SDN原理 OpenFlow协议 -1
本文基于SDN原理视频而成:SDN原理 OpenFlow OpenFlow 协议 和 传统的路由选择协议 有很多相似的地方,同时在某些地方也具有一定的颠覆性. 路由表,由IP地址和子网掩码组成.MAC ...
- python strip()函数 os.popen()
函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除序列的字符 s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字 ...
- BZOJ 3676 【APIO2014】 回文串
题目链接:回文串 我终于也会回文自动机辣! 其实吗……我觉得回文自动机(听说这玩意儿叫\(PAM\))还是比较\(simple\)的……至少比\(SAM\)友善多了…… 所谓回文自动机,每个节点就代表 ...
- 带宽检测工具iftop
1.安装 # yum install iftop –y 2.使用 # iftop -i eth0 -n # iftop -i eth0 -P 说明: 中间的<= =>这两个左右箭头,表示的 ...
- XML_CPP_资料
1.TinyXML解析xml文档 - zhoubl668的专栏:远帆,梦之帆! - 博客频道 - CSDN.NET.html http://blog.csdn.net/zhoubl668/articl ...