如何使用Jmeter,maven,Jenkins构建云性能测试平台

Posted 鲁德

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Jmeter,maven,Jenkins构建云性能测试平台相关的知识,希望对你有一定的参考价值。

长按二维码-识别图中二维码-一键关注

鲁德

关注鲁德微信,可以阅读精选IT类 技术类 职场类 励志类文章,最新招聘动态, 让你在轻松愉悦中得到提升!


最近在利用Jmeter来做一套自动化性能测试框架,做自动化性能测试框架的目的是希望能够针对系统做一个benchmark的性能测试,能够快速的在每个版本发布后,对该版本进行benchmark性能测试,以比较与上一个版本的性能是否发生变化,若发生变化便可以快速的通知开发人员以确定性能发生变化的模块或者代码。



同时测试或者开发可以上传性能测试脚本到测试平台,测试平台接到测试脚本后就可以进行性能测试并返回测试结果.基于这一点的考虑是,一般的测试工程师(特别想功能测试工程师)和开发工程师可能没有相关的性能测试环境供他们使用,因此建立这样的平台就是希望能够让每个人都能快速的进行性能测试,而不需要关注性能测试环境(往往配置一个性能环境可能需要很长的时候)



1.框架简要介绍


选择Jmeter来搭建这样一个平台是基于Jmeter本身的Open source, 并且是用纯JAVA开发的测试工具,方便与其他的工具的集成和扩展。最重要的是,你可以看到源码。



这套框架基本的执行流程和逻辑其实很简单,利用Jenkins的CI功能,实时检查脚本库,若有变更便调用JMeter来执行脚本,并将测试结果通过邮件或其他方式通知相关人员。主要逻辑图如下所示:

如何使用Jmeter,maven,Jenkins构建云性能测试平台

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方法:


如何使用Jmeter,maven,Jenkins构建云性能测试平台


看到try模块中的最后几行可以看到,通过Java反射机制,JMeter.start()方法被调用到,并且将相关的参数传递给该方法。因此我们可以想象到JMeter-maven插件中肯定也是通过调用这个方法来启动JMeter的,我们来看一下JMeter-maven-plugin这个插件(关于如何开发maven插件在这里不具体讲,可以参考网上资料)中的主要调用代码:



如何使用Jmeter,maven,Jenkins构建云性能测试平台


重点参考TestManager这个类,这个类是主要用来启动Jmeter的,我们可以参考这个类中的executeSingleTest(File test)这个方法:



这个方法验证了我们刚才这个猜想。在完成通过MAVEN启动Jmeter的分析过后,我们所要做的事情就是如何解析Jmeter运行后所得到的测试结果,并将这个测试结果以相关的格式展现出来。


鲁德IT
加入我们

课程咨询QQ:1597002058

官网:www.testroad.org

中国软件测试群:385302875

ROAD测试能力提升群:427387176

ROAD 移动自动化群 :245070175
ROAD安卓APP测试群: 224049779
软件测试技术交流群:336124704
ROAD测试岗位发布群:87996991
ROAD上杭京测试群: 212869366
ROAD北京测试人脉群:414878677
ROAD广东深圳测试群: 425309348






收藏是种逼格,转发是种美德^_^ o(∩_∩)o...


以上是关于如何使用Jmeter,maven,Jenkins构建云性能测试平台的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins+maven+jmeter接口可持续集成自动化测试

使用Maven Jenkins和JMeter自动化测试

使用Jmeter-Maven-Plugin搭建基于jmeter+Jenkins的性能测试平台

Jmeter+Maven+Jenkins+Git接口自动化流程

Jmeter+Maven+Jenkins实现简单性能自动化

maven+jmeter+jenkins集成