




免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 押题宝典高校教师资格证之《高等教育法规》考试题库及参考答案详解(黄金题型)
- 基础强化人教版8年级数学下册《平行四边形》必考点解析试题(含答案解析版)
- 基础强化华东师大版7年级下册期末试题含答案详解【达标题】
- 2025年教育质量评估与认证体系改革与发展趋势报告
- 2025年生物科技前沿:创新药物研发靶点筛选与验证技术突破报告
- 合伙协议模板
- 2025版外籍工作人员薪资福利保障合同
- 2025年食品包装设计委托加工合同参考模板
- 2025房地产营销合作合同:海外地产项目推广方案
- 2025版夫妻债务分担与债务担保协议书下载指南
- 旅游新媒体营销
- 地质调查员三级(区域地质、矿产地质、矿山地质)复习参考试题库(含答案)
- 《义务教育语文课程标准》(2022年版)原文
- 《建筑防排烟工程》 课件 1火灾烟气的产生及危害
- 墙体 砌块墙的构造(建筑构造)
- 离网光伏发电系统方案
- 研学旅行教师指导手册
- 锂资源行业的合规管理与风险控制
- 经编车间安全操作规程模版
- 《小学三年级英语开学第一课》课件
- 新入职教师安全培训
评论
0/150
提交评论