最近在利用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中具体阐述。
分享到:
相关推荐
本文标题“Jmeter+maven+Jenkins构建云性能测试平台”表明了本文的主题,即使用Jmeter、Maven和Jenkins来构建一个云性能测试平台。这个标题涵盖了三个关键技术点:Jmeter、Maven和Jenkins,都是当前IT行业中流行的...
Jmeter+Jenkins+maven 接口自动化集成测试框架是一种自动化测试解决方案,旨在简化测试过程,提高测试效率和测试质量。该框架通过集成 Jmeter、Jenkins 和 Maven 三个软件工具,实现了自动化测试、自动构建和自动...
【Jmeter+Jenkins+maven接口自动化集成】 接口自动化测试是现代软件开发中不可或缺的一环,它可以有效地提高测试效率,确保系统的稳定性和可靠性。在这个项目中,我们将利用JMeter、Jenkins和Maven三个强大的工具...
本项目结合了Jenkins、Maven和JMeter,构建了一个接口测试的CI流程,下面我们来详细探讨这些工具和技术。 1. **Jenkins**: Jenkins 是一个开源的持续集成工具,用于自动化各种任务,包括构建、测试和部署。在这个...
一个自动化测试框架,可性能也可接口;maven负责项目管理,jenkins服务器就不需要安 装jmeter运行环境(错误的,maven项目配置pom文件),只需要注册脚本所需要的jar包 到本地仓库即可;git源码管理,maven构建; 1...
选择Jenkins、Ant和JMeter结合的原因,除了Jenkins早期版本不包含Maven插件之外,还因为JMeter在案例中就是用Ant进行打包和构建测试,因此这组合有着天然的适应性和便利性。 搭建自动化接口测试框架的前提是安装并...
在这个场景中,Jenkins会监控源代码仓库,一旦检测到新的提交,就自动启动Ant进行构建,然后使用JMeter进行性能测试,最后将通过测试的版本部署到Tomcat服务器上。 在Linux环境下搭建这个环境,首先需要安装JDK,...
文档《接口自动化-jenkins+maven+jmeter持续集成.pdf》详细介绍了如何利用Jenkins、Maven和JMeter这三个强大的工具,搭建一个完整的接口自动化测试和持续集成环境。 首先,文档提到了Jenkins的安装与配置,包括...
JMeter Maven示例示例如何将jmeter测试集成到Maven构建中,以及如何使用jmeter插件CMDRunner从测试结果中自动生成图形。 jmeter测试可以轻松地用作詹金斯工作的一部分。 参见 。 该存储库还包含一个预先配置的詹金斯...
Apache JMeter是一款开源的性能测试工具,主要设计用于Web应用的压力测试,但也可用于其他协议。它可以模拟多个并发用户执行各种操作,评估应用程序的性能和稳定性。JMeter支持多种测试类型,包括负载测试、功能测试...
3. **JMeter**: JMeter是Apache组织开发的一款性能测试工具,常用于接口和Web应用的压力测试。在接口自动化测试中,我们可以编写JMeter测试计划来模拟用户请求并收集性能数据。 4. **JavaMail API**:JavaMail API...
Apache JMeter 可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter 功能包括: 能够加载和...
5. **持续集成**:Ant常与其他工具如Jenkins、Maven一起使用,实现自动化构建和测试,包括JMeter性能测试的集成。 在实际使用中,结合这两个工具,开发者可以创建自动化测试脚本,模拟大量用户并发请求,评估系统在...
Jenkins 是一个流行的持续集成工具,用于自动化构建、测试和部署软件项目。本文将详细介绍如何配置 Jenkins 实现自动化构建,包括安装、创建任务、配置源代码管理、构建触发器、构建设置、邮件通知等。 安装 ...
Jenkins是一款强大的持续集成服务器,同样为开源项目,它支持各种插件,可以轻松集成Ant、Maven等构建工具,以及Git、SVN等版本控制系统。Jenkins的主要功能是监控和执行持续集成任务,例如定时构建、单元测试、代码...
JMeter是一个功能强大且灵活的性能测试工具,广泛应用于Web应用程序的性能测试和承载能力测试。安装JMeter需要安装JDK和配置环境变量。不同的操作系统有不同的安装步骤,但都是下载压缩文件,解压缩,配置环境变量,...