使用java自定义jmeter的压力测试用例
2014-12-19 15:12
399 查看
之前已经分享过如何用java进行压力测试,然而,那种直接用代码压测的缺乏图形化GUI的直观。同时,只能够单机进行压测,有些情况下,比如webservice的压测需要大量的序列化反序列化xml,这些很消耗CPU之类的资源的压力测试,单机根本不足。
基于上述的原因,我选择了jmeter来进来一些压力测试用例的实施,像普通的http压力测试的对jmeter来说都小菜一碟,同时分布式的压力测试对jmeter来说更是对用户透明的。jmeter的资料在网上已经很足够,就不怎么重复了,这次想要重点讲的是如何定义自己的压力测试的用例。
类似于之前的压力测试模板,jmeter也提供了模板给我们,它就是在线程组下新建sample-》java请求,我们在java请求的选择中会有几个默认的test可以让我们选,这几个都是demo,我们今天要做的就是模仿下这个demo来实现自己的test,来让jmeter加载我们的test。
在这个红线框出的就是我们自己定义的test。
要实现这样一个test,只需要我们写个类实现jmeter提供的
,然后实现里面的
,然后将该类打包成jar包,并且扔进去${jmeter_home}/lib/ext/下,jmeter就会自己在java请求面板中加载。
同样的,我们可以自己定义初始化的参数,只需要重写
返回参数的列表就可以了。
代码:https://github.com/linsongze/jmeter_javatest
基于上述的原因,我选择了jmeter来进来一些压力测试用例的实施,像普通的http压力测试的对jmeter来说都小菜一碟,同时分布式的压力测试对jmeter来说更是对用户透明的。jmeter的资料在网上已经很足够,就不怎么重复了,这次想要重点讲的是如何定义自己的压力测试的用例。
类似于之前的压力测试模板,jmeter也提供了模板给我们,它就是在线程组下新建sample-》java请求,我们在java请求的选择中会有几个默认的test可以让我们选,这几个都是demo,我们今天要做的就是模仿下这个demo来实现自己的test,来让jmeter加载我们的test。
在这个红线框出的就是我们自己定义的test。
要实现这样一个test,只需要我们写个类实现jmeter提供的
AbstractJavaSamplerClient 模板类
,然后实现里面的
public SampleResult runTest(JavaSamplerContext javaSamplerContext)
,然后将该类打包成jar包,并且扔进去${jmeter_home}/lib/ext/下,jmeter就会自己在java请求面板中加载。
public SampleResult runTest(JavaSamplerContext javaSamplerContext) { SampleResult results = new SampleResult();//这个一定要定义,jmeter调用根据这个来计算调用率 try { results.sampleStart();//开始调用 results.setSampleLabel("lsz");//设置聚合报告中的名字 Thread.sleep(100); results.setSuccessful(true); results.setResponseCodeOK(); results.setBodySize(100); } catch (InterruptedException e) { e.printStackTrace(); }finally { results.sampleEnd();//一定要end,不然jmeter不统计这次结果~ } return results; }
同样的,我们可以自己定义初始化的参数,只需要重写
public Arguments getDefaultParameters()
返回参数的列表就可以了。
public Arguments getDefaultParameters() { Arguments params = new Arguments(); params.addArgument("SleepTime", String.valueOf(1000L)); params.addArgument("SleepMask", "0x" + Long.toHexString(1023L).toUpperCase(Locale.ENGLISH)); return params; }
代码:https://github.com/linsongze/jmeter_javatest
相关文章推荐
- 使用Apache Jmeter编写自定义Java测试代码开展并发测试
- 使用 Jmeter 对 Java web 执行负载(压力)测试
- 在Jmeter中使用自定义编写的Java测试代码
- Jmeter压力测试-自定义java请求
- 在Jmeter中使用自定义编写的Java测试代码
- 在Jmeter中使用自定义编写的Java测试代码
- 在Jmeter中使用自定义编写的Java测试代码
- 使用JMeter做压力测试
- 在 JMeter 压力测试工具中使用变量
- 在 JMeter 压力测试工具中使用函数(Function)
- 学习使用Jmeter做压力测试(一)--压力测试基本概念
- Java和.Net版通用工具类实现--生成自定义Web Html/Excel测试用例和测试报告
- 使用JMeter进行性能测试 —“Java请求”方式
- 使用JMeter进行性能测试(Java请求)
- 【转】使用JMeter做压力测试-对数据库
- 使用JMeter进行性能测试(压力测试)
- 强大的压力测试工具Jmeter使用实例
- 使用JMeter对web程序进行压力测试
- Java注解(自定义方法注解使用及测试)
- 使用JMeter对web程序进行压力测试