基于Jmeter的测试平台中间件、测试系统及方法与流程

文档序号:11458554阅读:488来源:国知局
基于Jmeter的测试平台中间件、测试系统及方法与流程

本发明属于软件测试领域,尤其涉及一种基于jmeter的测试平台中间件、测试系统及方法。



背景技术:

现有jmeter(基于java的压力测试工具)测试工具为单用户单任务形式,且jmeter的脚本编制需要经过专业学习的性能测试人员才能够进行编写执行,脚本之间的传递沟通比较繁琐,脚本维护工作量大,性能测试工作难度高。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中jmeter测试方法只能解决单用户单任务的问题,且脚本维护工作量大、性能测试工作难度高的缺陷,提供了一种基于jmeter的测试平台中间件、测试系统及方法。

本发明是通过下述技术方案来解决上述技术问题:

一种基于jmeter的测试平台中间件包括:交互api(应用程序编程接口)模块、脚本组装模块、任务队列模块和jmeter控制模块;

所述交互api模块包含多个api接口,所述api接口用于接收多个测试任务并发送至所述脚本组装模块;

所述脚本组装模块用于将接收到的所述多个测试任务生成符合jmeter规则的多个测试脚本并发送至所述任务队列模块;

所述任务队列模块用于根据jmeter的slave(从盘)节点的选择要求将所述多个测试脚本存入任务队列中,并按照所述任务队列的顺序依次将所述多个测试脚本发送至所述jmeter控制模块;

所述jmeter控制模块用于调用jmeter,所述jmeter根据接收到的所述多个测试脚本完成所述多个测试任务并将测试结果发送出去。

较佳地,所述测试平台中间件还包括日志整理模块,所述日志整理模块用于根据接收到的所述测试结果生成日志数据并调用所述api接口将所述日志数据发送出去。

较佳地,所述多个测试任务为同一时刻多个用户发送过来的多个测试任务或单个用户发送过来的多个测试任务。

较佳地,所述jmeter将所述多个测试脚本发送至jmeter的多个slave节点,多个测试脚本在所述多个slave节点完成任务的测试并将所述测试结果回传至所述jmeter控制模块。

一种基于jmeter的测试系统包括如上述各优选项任意组合的测试平台中间件和管理平台,所述管理平台用于调用所述api接口发送所述多个测试任务并接收所述测试结果。

本方案的测试任务为单用户发送的多个测试任务或者多用户发送的多个测试任务,脚本组装模块将所述多个测试任务生成符合jmeter规则的多个测试脚本后发送至任务队列模块,所述任务队列模块根据slave节点的选择要求和先进先出的原则依次将所述测试脚本发送到jmeter控制模块完成任务的测试,克服了现有技术jmeter只能解决单用户单任务的缺陷;本方案通过简单的添加交互api接口的访问信息到测试平台中间件的交互api模块,测试平台中间件即可以完成任务的测试,克服了现有技术中jmeter测试需要经过专业学习的性能测试人员才能够进行编写执行测试的缺陷。

一种基于jmeter的测试方法,利用如上述的测试平台中间件来实现,所述测试方法包括以下步骤:

s1、所述api接口接收所述多个测试任务并发送至所述脚本组装模块;

s2、所述脚本组装模块将接收到的所述多个测试任务生成符合jmeter规则的所述多个测试脚本并发送至所述任务队列模块;

s3、所述任务队列模块根据所述jmeter的slave节点的选择要求将所述多个测试脚本存入所述任务队列中,并按照所述任务队列的顺序依次将所述多个测试脚本发送至所述jmeter控制模块;

s4、所述jmeter控制模块调用所述jmeter,所述jmeter根据接收到的所述多个测试脚本完成所述多个测试任务并将所述测试结果发送出去。

较佳地,所述中间件测试平台还包括日志整理模块,所述测试方法还包括步骤s5:

所述日志整理模块接收所述测试结果,并根据所述测试结果生成所述日志数据,并调用所述api接口将所述日志数据发送出去。

较佳地,步骤s1中所述的测试任务为同一时刻多个用户发送过来的多个测试任务和单个用户发送过来的多个测试任务中任意一项。

较佳地,步骤s4还包括:

所述jmeter将所述多个测试脚本发送至所述所述多个slave节点,所述多个测试脚本在所述jmeter的多个slave节点完成任务的测试并将所述测试结果回传至所述jmeter控制模块。

较佳地,如上述各优选项任意组合的测试方法还利用管理平台来实现,步骤s1之前还包括:所述管理平台调用所述api接口发送测试任务;步骤s5之后还包括:所述日志整理模块调用所述api接口将所述测试结果发送至所述管理平台。

本发明的积极进步效果在于:本发明通过增加测试平台中间件,只要简单的添加交互api接口的访问信息就可以通过测试平台中间件的脚本组装模块生成jmeter可以使用的脚本,再发送到jmeter完成任务的测试,从而实现类似于管理平台的一套多任务多用户系统,更能减少脚本的维护工作,同时还降低了性能测试工作的难度。

附图说明

图1为本发明实施例1的基于jmeter的测试平台中间件的结构框图。

图2为本发明实施例1的基于jmeter的测试系统的结构框图。

图3为本发明实施例2的基于jmeter的测试方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

实施例1

一种基于jmeter的测试平台中间件,如图1所示,包括:交互api模块1、脚本组装模块2、任务队列模块3、jmeter控制模块4和日志整理模块5。

所述交互api模块1包含多个api接口,所述api接口用于接收多个测试任务并发送至所述脚本组装模块2;所述多个测试任务为同一时刻多个用户发送过来的多个测试任务或单个用户发送过来的多个测试任务。

所述脚本组装模块2用于将接收到的所述多个测试任务生成符合jmeter规则的多个测试脚本并发送至所述任务队列模块3。

所述任务队列模块3用于根据jmeter的slave节点的选择要求将所述多个测试脚本存入任务队列中,并按照所述任务队列的顺序依次将所述多个测试脚本发送至所述jmeter控制模块4。

所述jmeter控制模块4用于调用jmeter,所述jmeter将所述多个测试脚本发送至jmeter的多个slave节点,所述多个测试脚本在所述多个slave节点完成任务的测试并将所述测试结果回传至所述jmeter控制模块4,所述jmeter控制模块4将所述测试结果再发送至所述日志整理模块5。

所述日志整理模块5用于根据接收到的所述测试结果生成日志数据并调用所述api接口将所述日志数据发送出去。

所述测试任务在测试过程中实时生成测试状态并发送至所述交互api模块1,所述测试状态为等待、执行、成功和失败中任意一种。具体的,当测试脚本存入所述任务队列的同时生成等待的测试状态并将所述测试状态返回至所述交互api模块1;当测试脚本由所述任务队列模块3发送至所述jmeter控制模块4执行测试任务的同时生成执行的测试状态并将所述测试状态返回至所述交互api模块1;当测试脚本在所述jmeter控制模块4中完成测试任务生成测试结果的同时,根据任务的测试结果生成成功或失败的测试状态并将所述测试状态返回至所述交互api模块1。

本实施例还提供一种基于jmeter的测试系统,如图2所示,包括如上所述的测试平台中间件和管理平台6,所述管理平台6用于将所述多个测试任务发送至所述交互api模块1,还用于接收所述日志整理模块5发送过来的所述日志数据。

本实施例中,通过增加测试平台中间件,管理平台只要简单添加交互api接口的测试任务,就可以通过测试平台中间件来完成任务的测试,再将测试结果回传至管理平台,从而实现一套类似管理平台的测试系统,更能减少脚本的维护工作,同时还降低了性能测试工作的难度。

实施例2

一种基于jmeter的测试方法,利用如实施例1所述的测试平台中间件来实现,如图3所示,所述测试方法包括以下步骤:

步骤101、api接口接收多个测试任务并发送至脚本组装模块。所述测试任务为同一时刻多个用户发送过来的多个测试任务或单个用户发送过来的多个测试任务。

步骤102、脚本组装模块将接收到的多个测试任务生成符合jmeter规则的多个测试脚本并发送至任务队列模块;

步骤103、任务队列模块根据jmeter的slave节点的选择要求将多个测试脚本存入任务队列中,并按照任务队列的顺序依次将多个测试脚本发送至jmeter控制模块;

步骤104、jmeter控制模块调用jmeter,jmeter根据接收到的多个测试脚本完成测试并将测试结果发送出去。jmeter将多个测试脚本发送至jmeter的多个slave节点,测试脚本在每个slave节点完成任务的测试并将测试结果回传至jmeter控制模块,jmeter控制模块再将测试结果发送至日志整理模块。

步骤105、日志整理模块接收测试结果,并根据测试结果生成日志数据,并调用api接口将日志数据发送出去。

本实施例中的测试方法还利用管理平台来实现,步骤101之前还包括:所述管理平台调用所述api接口发送测试任务;步骤105之后还包括:所述日志整理模块调用所述api接口将所述测试结果发送至所述管理平台。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1