- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JmetermavenJenkins構建云性能测试平台
最近在利用Jmeter来做一套自动化性能测试框架,做自动化性能测试框架的目的是希望能够针对系统做一个benchmark的性能测试,能够快速的在每个版本发布后,对该版本进行benchmark性能测试,以比较与上一个版本的性能是否发生变化,若发生变化便可以快速的通知开发人员以确定性能发生变化的模块或者代码。同时测试或者开发可以上传性能测试脚本到测试平台,测试平台接到测试脚本后就可以进行性能测试并返回测试结果.基于这一点的考虑是,一般的测试工程师(特别想功能测试工程师)和开发工程师可能没有相关的性能测试环境供他们使用,因此建立这样的平台就是希望能够让每个人都能快速的进行性能测试,而不需要关注性能测试环境(往往配置一个性能环境可能需要很长的时候).
1.框架简要介绍
选择Jmeter来搭建这样一个平台是基于Jmeter本身的Open source, 并且是用纯JAVA开发的测试工具,方便与其他的工具的集成和扩展。最重要的是,你可以看到源码。
这套框架基本的执行流程和逻辑其实很简单,利用Jenkins的CI功能,实时检查脚本库,若有变更便调用JMeter来执行脚本, 并将测试结果通过邮件或其他方式通知相关人员。主要逻辑图如下所示:
2. Maven执行Jmeter
MAVEN是一个非常优秀的项目管理工具,关于Maven和Ant的主要区别可以去网上查询,我们在这里主要介绍一下用MAVEN如何去运行JMeter, JMeter支持多种运行方式,有GUI方式和NONGUI方式,各有优势,我们在自动化性能测试平台的搭建中采用NonGUI方式来运行测试脚本,NonGuI方式其实也就是通过Command命令来运行,那么如何通过Maven来调用呢,不用慌张,已经有Jmeter-maven-plugin这样一个Maven插件来运行Jmeter了,如果看过Jmeter源码的话,可以看到在Jmeter中有这样一个Class,叫做NewDriver.class,这个类是Jmeter的入口,我们可以看一下这个类的Main方法:
看到try模块中的最后几行可以看到,通过Java反射机制,JMeter.start()方法被调用到,并且将相关的参数传递给该方法。因此我们可以想象到JMeter-maven插件中肯定也是通过调用这个方法来启动JMeter的, 我们来看一下JMeter-maven-plugin这个插件(关于如何开发maven插件在这里不具体讲,可以参考网上资料)中的主要调用代码:
重点参考TestManager这个类,这个类是主要用来启动Jmeter的,我们可以参考这个类中的executeSingleTest(File test)这个方法:
这个方法验证了我们刚才这个猜想。在完成通过MAVEN启动Jmeter的分析过后,我们所要做的事情就是如何解析Jmeter运行后所得到的测试结果,并将这个测试结果以相关的格式展现出来。
关于如何具体解析Jmeter执行结果将在下篇Blog中具体阐述。
继上篇Blog,本篇将重点介绍利用Maven并开发插件解析Jmeter生成的报告,于是就有Jmeter-analysis-maven-plugin这个插件,这个插件是由Aren Franka开发的,但是当你使用这个插件的时候会发现,它只能解析Http request请求的报告,不能解析如Webservice request请求的报告以及其他请求的报告,这是由于这个插件的代码中存在一个bug,于是自己动手修改了这个bug,因为通过Nongui生成的Jmeter报告是以.jtl结尾的类似于xml的文件,因此在Jmeter-analysis-maven-plugin这个插件中会采用SAX来解析报告文件。具体来看一下Jmeter报告文件的格式:
?
?xml version=1.0 encoding=UTF-8?
testResults version=1.2
sample t=49 lt=0 ts=1339404299860 s=true lb=PoscPaymentServiceImplService rc=200 rm=OK tn=posc 1-1 dt=text by=713/
sample t=45 lt=0 ts=1339404301064 s=true lb=PoscPaymentServiceImplService rc=200 rm=OK tn=posc 1-13 dt=text by=713/
sample t=45 lt=0 ts=1339404301166 s=true lb=PoscPaymentServiceImplService rc=200 rm=OK tn=posc 1-14 dt=text by=713/
sample t=
您可能关注的文档
最近下载
- 立创EDA操作手册公开课.pdf
- 《共享单车点位设置导则》.pdf VIP
- 体育概论 第三版 杨文轩 陈琦 全国普通高等学校体育专业类基础课程教材-第二章 体育功能.ppt VIP
- 湖南省新高考教学教研联盟暨长郡二十校联盟2024-2025学年高一下学期5月检测数学试卷含答案.docx VIP
- 2025老年人健康膳食指南(精华版).pptx
- 体育概论 第三版 杨文轩 陈琦 全国普通高等学校体育专业类基础课程教材-第四章 体育过程.ppt VIP
- 沙场供沙合同范本.docx VIP
- 八年级上册物理同步练习题(全)-人教版.doc VIP
- 基孔肯雅热防控技术指南2025年版培训课件.pptx VIP
- 《创意综合材料绘画》课件.ppt VIP
文档评论(0)