网站大量收购闲置独家精品文档,联系QQ:2885784924

Jmeter Java Sampler编写入门.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Jmeter Java Sampler编写入门

一、简介JMeter的http请求的性能测试可能大家都比较熟悉,它的工作原理是持续发送我们录制修改的http请求,来对server端进行施压,在施压过程中我们可以灵活设置一些请求参数或结果校验参数,JMeter会将这些参数加入到我们的请求当中来发送请求。在发送请求前,JMeter会做一个时间戳,然后在请求所有字节返回后,JMeter会再做一个时间戳,然后这个结果就是我们当前http请求的响应时间。当然JMeter里还可以做一个判断,如果你设置有结果校验的话,JMeter会把获得响应的字节编码后和预期结果做一个对比,如果对比成功,则认为本次请求是PASS,否则为FAIL。那Java请求的性能测试是什么呢?Java请求性能测试与http请求非常类似,只是它更底层一些,就是通过编写脚本代码对一个暴露java接口的应用一个或几个方法事务调用进行施压,它会得到这个事务过程的响应时间和响应结果,做一个对比,http请求是应用提供http协议的服务,发送请求到服务端得到返回值,java请求则是应用提供接口服务,发送java请求到服务端得到返回值。其实JMeter是用Java语言做的,所以他里面的所有协议的请求都是基于Java实现,例如http请求,它只是用Java代码封装了Http的协议,内部其实使用了Java的类库来对应用发送请求的(包,再深入你会发现这些请求都是通过java的socket实现),所以通过Java请求的性能测试,我们可以做任意自定义协议请求的性能测试。二、为什么要做Java请求的性能测试当开发的一个应用是WebService,或者是hessian协议暴露接口,也可以是其他自定义协议暴露了接口时,这时对接口的性能测试,如果找开发编写一些页面来进行调用,难免会在http请求里做解析消耗一些时间和资源,不能精确地得到应用的性能结果,这时候如果使用Java请求的性能测试,更能精确体现出应用的性能表现。三、Java请求性能测试的例子说明:本例子只供参考,用于学习,测试的接口方法是启在jmeter的jvm中,所以可以直接调用,真实环境的接口性能测试需要协议封装的。1、被测方法模拟我们模拟一个被测类,在这里没有指明package,自己可以随意设定。publicclass TargetClass {??? private SimpleDateFormat ymdhms = new SimpleDateFormat(yyyy-MM-dd hh:mm:ss);??? publicvoid timeConsumption(){??????? for (int i = 0; i 1000; i++) {??????????? Calendar calendar = Calendar.getInstance();??????????? Date date = calendar.getTime();??????????? ymdhms.format(date);??????? }??? }??? publicint targetFunction(String str) {??????? if (str != null) {??????????? return str.length();??????? } else {??????????? return -1;??????? }??? }}??? 我们看到这个类一共有两个方法,随后我们会使用JMeter对这两个方法进行一个事务处理的性能测试。targetFunction方法使我们测试的目标方法,这个方法就是返回了一个字符串的长度,timeConsumption是一个消耗时间的方法,由于目标方法耗时太小,JMeter无法统计小于1ms的方法执行时间,我们编写一个1000次的循环好耗一点时间让JMeter能做统计。将其打成jar包,eclipse里可以使用export jar file进行jar包的封装,而在实际项目使用中,可以让开发提供jar包及需要被测试的类及方法。2、脚本代码准备先下载JMeter?:/repos/ali_QA/11_Test_Tools/02_AJMeter/jmeter_jack_release然后再在eclipse里新建一个java工程,在 Build Path中引入JMeter目录下/lib/ext/文件夹下的ApacheJMeter_core.jar和ApacheJMeter_java.jar两个包,这两个包是编写性能测试脚本代码的最小包(如果需要调试运行,建议将JMeter目录下lib里所有包都引入到工程中来),然后还需要引入我们测试的包,即步骤1打的包引入到我们的脚本工程中来。新建一个测试类,改类必须继承AbstractJavaSamplerClient虚类,在继承该

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档