JMeter进行性能测试实例Java请求+参数化.doc_第1页
JMeter进行性能测试实例Java请求+参数化.doc_第2页
JMeter进行性能测试实例Java请求+参数化.doc_第3页
JMeter进行性能测试实例Java请求+参数化.doc_第4页
JMeter进行性能测试实例Java请求+参数化.doc_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JMeter进行性能测试(Java请求)测试实例说明1. 建立测试计划启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。如图1:图12. 添加线程组1.添加线程组一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划(右键)-添加-Threads(Users)-线程组)中选择线程组即可。图2图32.线程属性1. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。2. 准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为5 ,准备时长为10 ,那么需要10秒钟启动5个线程。也就是每2秒钟启动1个线程。3. 循环次数:每个线程发送请求的次数。如果线程数为100 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为100*10=1000 。如果勾选了“永远”,那么所有线程会一直发送请求。3. 添加Java请求线程组(右键)-添加-Sampler-Java请求)选择Java请求。对于jmeter来说,取样器(Sampler)是与服务器进行交互的单元。一个取样器通常进行三部分的工作:1.向服务器发送请求 2.记录服务器的响应数据 3.记录相应时间信息图4图5Java请求的属性相对较少 需要关注的就二个属1. 类名称:通过点击三角下拉选择所需要的测试的java类 这个类需要继承Jmeter 的AbstractJavaSamplerClient。 自定义测试的java类编写详见第7小节Jmeter之自定义Java请求2. 同请求参数:jmeter提供了一个简单的对参数化的方法。用户可以将请求中所有参数设置在本表中,表中的每一行是一个参数值对(对应请求中的 名称=值),图5的参数表中有一个值是$deviceId 这个涉及到 参数化详见第8小节Jmeter之参数化4. 添加监听器脚本的主要部分设置完成后,需要通过某种方式获得性能测试中的测试结果,这就需要添加监听器。在这里只介绍添加聚合报告,其它的添加都是一样。聚合报告分析请看第6小节聚合报告分析线程组(右键)-添加-监听器-聚合报告 中选择聚合报告。图65.运行脚本点击工具栏上的运行按钮,或者点击菜单栏“ 运行-启动 ”或者点击工具栏的启动按钮 或者使用快捷键ctrl+r 来运行程序。图76. 聚合报告分析查看聚合报告的运行结果:图8图97.Jmeter之自定义Java请求编写1.新建测试项目创建一个java工程 ,在这里我用的工具是eclipse图102. 引入JMeter的jar包从Jmeter的安装目录libext中拷贝两个文件ApacheJMeter_core.jarApacheJMeter_java.jar在我编写的例子中还有用的其它的jar 如jorphan.jar 等直接从从Jmeter的安装目录lib复制过来.图113. 写测试类测试类称需要 继承AbstractJavaSamplerClient类 类方法说明:getDefaultParameters方法:主要用于设置传入的参数setupTest方法:为初始化方法,用于初始化性能测试时的每个线程runTest方法:为性能测试时的线程运行体teardownTest方法:为测试结束方法,用于结束性能测试中的每个线程在runTest编写调用java程序1.采样开始:sampleStart();2.调用java程序3.采样结束:sampleEnd()4.返回结果判断:setSuccessful()类代码如下:/包名和引入包省略。public class JmeterScoketTest extends AbstractJavaSamplerClient / 测试结果private SampleResult sr;private static String label = socket;/* 为初始化方法,用于初始化性能测试时的每个线程*/public void setupTest(JavaSamplerContext arg0) System.out.println(setupTest);/* * 主要用于设置传入的参数*/public Arguments getDefaultParameters() Arguments params = new Arguments();params.addArgument(host, localhost);params.addArgument(port, 8090);params.addArgument(deviceId,123456);return params;/* 为性能测试时的线程运行体*/Overridepublic SampleResult runTest(JavaSamplerContext arg0) String host = arg0.getParameter(host);String port = arg0.getParameter(port);String deviceId = arg0.getParameter(deviceId);sr = new SampleResult();sr.setSampleLabel(label);try sr.sampleStart(); / 记录程序执行时间,以及执行结果ClientHandlerTest client = new ClientHandlerTest();client.setDeviceId(deviceId);client.MemMonClient(host,port);/这个是需要调用的操作方法sr.setSuccessful(true);System.out.println(end); catch (Throwable e) sr.setSuccessful(false); finally sr.sampleEnd();return sr;/* * 结束*/public void teardownTest(JavaSamplerContext arg0) System.out.println(teardownTest);个人经验:自定义java请求除继承AbstractJavaSamplerClient类 外不要再实现其它类否则可能Jmeter 在添加Java请求时会找不到自定义类。4. 调用自定义java请求给定义java请求工程打包 如DragonjmeterTestSocket.jar把打好的包拷贝到Jmeter的安装目录libext中;个人经验:工程中引用到的包也需要拷贝到Jmeter的安装目录lib中,不然可能会报错。我自己就碰到过报类找不到的错误!以上这些完成后重新启动Jmeter 就可以在第三节类名称那里找到 你所编写的自定义类。8. Jmeter 之参数化用Jmeter包含两种情况的参数,一种是在url中,一种是请求中需要发送的参数。这里主要是介绍请求中需要发送的参数也就是同求参数 见上图5Jmeter参数化方法很多 在这里我只介绍CSV Data Set Config方法,但我没有试过,有兴趣可以自己试一下。除此之外Jmeter还有其它的几种参数化的方法有兴趣可以自己去了解。1.新建 deviceId.csv文件(.txt/.dat 类型也是可以的我没有测试过有兴趣可以测试下) 下面是我建的设备编号的参数图12图13上面是我列的设备编号的参数 2. 添加配置元件CSV Data Set Config 线程组(右键)-添加-配置元件-CSV Data Set Config 中选择聚合报告。图143.CSV Data Set Config 配置Filename:指保存参数化数据的文件目录,也就是那个参数文件File encoding:UTF-8,新建参数文件的编码格式,Variable Names(comma-delimited):deviceId 参数名称 这里只有一列 (如果是多列:有几列参数,在这里面就写几个参数名称,每个名称中间用分隔符分割,分隔符在下面的“Delimitet”中定义, Delimitet:定义分隔符

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论