本发明涉及自动化测试技术领域,更具体地说,涉及面向多执行技术的自动化测试集中调度执行方法及系统。
背景技术:
自动化测试调度技术主要是将批量的自动化测试任务根据执行机状态批量分发到各个自动化测试执行机上执行。
目前,业界的自动化测试调度方案主要步骤是首先监测执行机状态,然后根据执行机情况,将批量提交的测试脚本分配给相应的执行机,从而实现分布式执行。
由于现有方案的着眼点在于批量分发功能,主要是针对单一自动化测试工具进行的,针对于多种不同工具下的自动化测试脚本缺乏调度功能,同时缺乏脚本的属性管理与调度,使得针对多工具技术、多执行属性的脚本执行灵活性差,执行成本高。因此,在自动化测试集中调度的过程中,如何提高执行灵活性且降低执行成本是一项亟待解决的问题。
技术实现要素:
有鉴于此,本发明的目的在于提供一种面向多执行技术的自动化测试集中调度执行方法,通过整合不同自动化测试工具资源,支持多种自动化测试工具执行技术,根据不同的自动化脚本属性进行动态批量调度,提高执行灵活性且降低执行成本。
为实现上述目的,本发明提供如下技术方案:
一种面向多执行技术的自动化测试集中调度执行方法,包括:
维护自动化脚本和脚本执行机的执行属性,并发送执行脚本;
基于所述执行属性监控脚本执行机的运行状态,获取自动化脚本,并发送所述自动化脚本;
基于接收到的所述自动化脚本,解析出所述自动化脚本的信息,调用相应的执行工具生成执行结果和执行日志;
保存所述执行结果和执行日志。
优选地,所述维护自动化脚本和脚本执行机的执行属性,并发送执行脚本包括:
配置脚本的执行属性,并将配置结果保存至数据库中的脚本属性表中;
配置脚本执行机的属性。
优选地,所述基于所述执行属性监控脚本执行机的运行状态,获取自动化脚本,并发送所述自动化脚本包括:
将用户批量发起的自动化测试脚本按照先到先服务的原则放入脚本执行队列当中,逐一对队列中的脚本属性信息进行分析,获取脚本执行所需的属性;
监控脚本执行机的状态,对于空闲脚本执行机,获取其所支持的脚本执行属性;
针对脚本执行机所支持的脚本属性,从脚本队列头开始依次查找适合该脚本执行机执行的自动化脚本;
查找到对应的自动化脚本,将其从队列中取出,并发送到空闲脚本执行机上执行。
优选地,所述基于接收到的所述自动化脚本,解析出所述自动化脚本的信息,调用相应的自动化测试执行工具生成执行结果和执行日志包括:
接收并解析所述自动化脚本,获取到脚本执行信息和执行工具信息;
基于所述脚本执行信息生成可执行的自动化测试脚本文件;
基于脚本执行工具信息调起相应的自动化测试执行工具并执行脚本;
返回执行的结果和执行日志。
一种面向多执行技术的自动化测试集中调度执行系统,包括:
属性配置模块,用于维护自动化脚本和脚本执行机的执行属性,并发送执行脚本;
自动化测试集中调度模块,用于基于所述执行属性监控脚本执行机的运行状态,获取自动化脚本,并发送所述自动化脚本;
自动化测试执行引擎,用于基于接收到的所述自动化脚本,解析出所述自动化脚本的信息,调用相应的自动化测试执行工具生成执行结果和执行日志;
所述自动化测试集中调度模块,还用于保存所述执行结果和执行日志。
优选地,所述属性配置模块具体用于:
配置脚本的执行属性,并将配置结果保存至数据库中的脚本属性表中;
配置脚本执行机的属性。
优选地,所述自动化测试集中调度模块具体用于:
将用户批量发起的自动化测试脚本按照先到先服务的原则放入脚本执行队列当中,逐一对队列中的脚本属性信息进行分析,获取脚本执行所需的属性;
监控脚本执行机的状态,对于空闲脚本执行机,获取其所支持的脚本执行属性;
针对脚本执行机所支持的脚本属性,从脚本队列头开始依次查找适合该脚本执行机执行的自动化脚本;
查找到符合属性的自动化脚本,将其从队列中取出,并发送到空闲脚本执行机上执行。
优选地,所述自动化执行引擎具体用于:
接收并解析所述自动化脚本,获取到脚本执行信息和执行工具信息;
基于所述脚本执行信息生成可执行的自动化测试脚本文件;
基于脚本执行工具信息调起相应的自动化测试执行工具并执行脚本;
返回执行的结果和执行日志。
由上述技术方案可知,本实施例提供了一种网络流量特征分析方法,当需要面向多工具执行技术进行自动化测试集中调度时,首先维护自动化脚本和脚本执行机的执行属性,并发送执行脚本,然后根据执行属性监控脚本执行机的运行状态,获取自动化脚本并发送自动化脚本,根据接收到的自动化脚本解析出自动化脚本的信息,调用相应的自动化测试执行工具生成执行结果和执行日志,最后保存执行结果和执行日志,通过整合不同自动化测试工具资源,支持多种自动化测试工具执行技术,根据不同的自动化脚本属性进行动态批量调度,提高了执行灵活性且降低了执行成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明公开的一种面向多执行技术的自动化测试集中调度执行方法实施例1的方法流程图;
图2为本发明公开的一种面向多执行技术的自动化测试集中调度执行方法实施例2的方法流程图;
图3为本发明公开的一种面向多执行技术的自动化测试集中调度执行系统实施例3的结构示意图;
图4为本发明公开的一种面向多执行技术的自动化测试集中调度执行系统实施例4的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了更加特定地强调实施的独立性,本说明书涉及许多模块或单元。举例而言,模块或单元可由硬件电路实现,该硬件电路包括特制vlsi电路或门阵列,比如逻辑芯片、晶体管,或其它组件。模块或单元也可在可编程的硬设备中实现,比如场效可编程门阵列、可编程阵列逻辑、可编程逻辑设备等等。
模块或单元也可在藉由各种形式的处理器所执行的软件中实现。比如说,一可执行码模块可包括一个或多个实体的或逻辑的计算机指令区块,该区块可能形成为,比如说,对象、程序或函数。然而,鉴别模块或单元的可执行部分不需要物理上放置在一起,但可由存于不同位置的不同指令所组成,当逻辑上组合在一起时,形成模块或单元且达到该模块或单元所要求的目的。
实际上,可执行码模块或单元可以是一单一指令或多个指令,甚至可以分布在位于不同的程序的数个不同的码区段,并且横跨数个存储设备。同样地,操作数据可被辨识及显示于此模块或单元中,并且可以以任何合适的形式实施且在任何合适的数据结构形式内组织。操作数据可以集合成单一数据集,或可分布在具有不同的存储设备的不同的位置,且至少部分地只以电子信号方式存在于一系统或网络。
本说明书所提及的“实施例”或类似用语表示与实施例有关的特性、结构或特征,包括在本发明的至少一实施例中。因此,本说明书所出现的用语“在一实施例中”、“在实施例中”以及类似用语可能但不必然都指向相同实施例。
再者,本发明所述特性、结构或特征可以以任何方式结合在一个或多个实施例中。以下说明将提供许多特定的细节,比如编程序、软件模块、用户选择、网络交易、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等例子,以提供对本发明实施例的了解。然而相关领域的普通技术人员将看出本发明,即使没有利用其中一个或多个特定细节,或利用其它方法、组件、材料等亦可实施。另一方面,为避免混淆本发明,公知的结构、材料或操作并没有详细描述。
如图1所示,为本发明公开的一种面向多执行技术的自动化测试集中调度执行方法实施例1的流程图,本方法包括以下步骤:
s101、维护自动化脚本和脚本执行机的执行属性,并发送执行脚本;
当需要面向多工具执行技术进行自动化测试集中调度时,首先对脚本属性进行维护,同时对脚本执行机的属性进行维护,并将执行脚本进行发送。
s102、基于执行属性监控脚本执行机的运行状态,获取自动化脚本,并发送所述自动化脚本;
根据接收到的执行脚本对脚本执行机的运行状态进行监控,为空闲执行机匹配相应的自动化脚本,并将获得到的自动化脚本进行发送。
s103、基于接收到的所述自动化脚本,解析出所述自动化脚本的信息,调用相应的自动化测试执行工具生成执行结果和执行日志;
根据接收到的自动化脚本,解析调起命令,并调用相应的自动化测试执行工具生成执行结果和执行日志,将生成的执行结果和执行日志进行发送。
s104、保存所述执行结果和执行日志。
将接收到的执行结果和执行日志进行保存。
综上所述,在上述实施例中,当需要面向多工具执行技术进行自动化测试集中调度时,首先维护自动化脚本和脚本执行机的执行属性,并发送执行脚本,然后根据执行属性监控脚本执行机的运行状态,获取自动化脚本并发送自动化脚本,根据接收到的自动化脚本解析出自动化脚本的信息,调用相应的自动化测试执行工具生成执行结果和执行日志,最后保存执行结果和执行日志,通过整合不同自动化测试工具资源,支持多种自动化测试工具执行技术,根据不同的自动化脚本属性进行动态批量调度,提高了执行灵活性且降低了执行成本。
如图2所述,为本发明公开的一种面向多执行技术的自动化测试集中调度执行方法实施例2的流程图,本方法包括以下步骤:
s201、配置脚本的执行属性,并将配置结果保存至数据库中的脚本属性表中;
当需要面向多工具执行技术进行自动化测试集中调度时,首先对脚本属性进行维护,在对脚本属性进行维护时,用户对各自脚本的执行属性,如脚本执行所需操作系统、浏览器、执行工具、执行时间等,进行配置,并保存到数据库中的脚本属性表中。所存储的数据信息可供自动化测试集中调度模块作为动态调度的条件,同时自动化测试执行引擎模块根据相关的脚本属性信息组织自动化测试脚本并调起相应的自动化测试执行工具。
s202、配置脚本执行机的属性;
为使自动化测试集中调度模块能够为自动化脚本匹配适合的执行机去执行,自动化测试执行机也需要进行相应的属性配置,包括执行机ip、执行机所支持的操作系统、浏览器、执行工具等信息。
s203、将用户批量发起的自动化测试脚本按照先到先服务的原则放入脚本执行队列当中,逐一对队列中的脚本属性信息进行分析,获取脚本执行所需的属性;
当完成了脚本属性的维护和执行机属性的维护后,进一步将用户批量发起的自动化测试脚本按照先到先服务的原则放入到脚本执行队列当中,然后逐一的对队列中的脚本属性信息进行分析,获取到脚本执行所需的属性。
s204、监控脚本执行机的状态,对于空闲脚本执行机,获取其所支持的脚本执行属性;
然后对脚本执行机的状态进行状态,判断执行机是否为“空闲”,当执行机为空闲时,获取该空闲执行机的属性。
s205、针对脚本执行机所支持的脚本属性,从脚本队列头开始依次查找适合该脚本执行机执行的自动化脚本;
然后根据脚本执行机所支持的脚本属性,从脚本队列的头开始依次查找适合该脚本执行机构执行的自动化脚本。
s206、查找到符合属性的自动化脚本,将其从队列中取出,并发送到空闲脚本执行机上执行;
s207、接收并解析所述自动化脚本,获取到脚本执行信息和执行工具信息;
s208、基于所述脚本执行信息生成可执行的自动化测试脚本文件;
s209、基于脚本执行工具信息调起相应的自动化测试执行工具并执行脚本;
s210、返回执行的结果和执行日志;
s211、保存所述执行结果和执行日志。
将接收到的执行结果保存到数据库的任务执行表中,将执行日志保存到文件服务器中。
综上所述,在上述实施例中,当需要面向多工具执行技术进行自动化测试集中调度时,首先维护自动化脚本和脚本执行机的执行属性,并发送执行脚本,然后根据执行属性监控脚本执行机的运行状态,获取自动化脚本并发送自动化脚本,根据接收到的自动化脚本解析出自动化脚本的信息,调用执行工具生成执行结果和执行日志,最后保存执行结果和执行日志,通过整合不同自动化测试工具资源,支持多种自动化测试工具执行技术,根据不同的自动化脚本属性进行动态批量调度,提高了执行灵活性且降低了执行成本。
如图3所示,为本发明公开的一种面向多工具的自动化集中调度执行系统实施例3的结构示意图,本系统包括:
属性配置模块301,用于维护自动化脚本和脚本执行机的执行属性,并发送执行脚本;
当需要面向多工具执行技术进行自动化测试集中调度时,首先对脚本属性进行维护,同时对脚本执行机的属性进行维护,并将执行脚本进行发送。
自动化测试集中调度模块302,用于基于执行属性监控脚本执行机的运行状态,获取自动化脚本,并发送所述自动化脚本;
根据接收到的执行脚本对脚本执行机的运行状态进行监控,为空闲执行机匹配相应的自动化脚本,并将获得到的自动化脚本进行发送。
自动化测试执行引擎303,用于基于接收到的所述自动化脚本,解析出所述自动化脚本的信息,调用相应的自动化测试执行工具生成执行结果和执行日志;
根据接收到的自动化脚本,解析调起命令,并调用相应的自动化测试执行工具生成执行结果和执行日志,将生成的执行结果和执行日志进行发送。
自动化测试集中调度模块302,还用于保存所述执行结果和执行日志。
将接收到的执行结果和执行日志进行保存。
综上所述,在上述实施例中,当需要面向多工具进行自动化集中调度时,首先维护自动化脚本和脚本执行机的执行属性,并发送执行脚本,然后根据执行属性监控脚本执行机的运行状态,获取自动化脚本并发送自动化脚本,根据接收到的自动化脚本解析出自动化脚本的信息,调用执行工具生成执行结果和执行日志,最后保存执行结果和执行日志,通过整合不同自动化测试工具资源,支持多种自动化测试工具执行技术,根据不同的自动化脚本属性进行动态批量调度,提高了执行灵活性且降低了执行成本。
如图4所述,为本发明公开的一种面向多执行技术的自动化测试集中调度执行系统实施例4的结构示意图,本系统包括:
属性配置模块401,用于配置脚本的执行属性,并将配置结果保存至数据库中的脚本属性表中;
当需要面向多工具执行技术进行自动化测试集中调度时,首先对脚本属性进行维护,在对脚本属性进行维护时,用户对各自脚本的执行属性,如脚本执行所需操作系统、浏览器、执行工具、执行时间等,进行配置,并保存到数据库中的脚本属性表中。所存储的数据信息可供自动化测试集中调度模块作为动态调度的条件,同时自动化测试执行引擎模块根据相关的脚本属性信息组织自动化测试脚本并调起相应的自动化测试执行工具。
属性配置模块401,还用于配置脚本执行机的属性;
为使自动化测试集中调度模块能够为自动化脚本匹配适合的执行机去执行,自动化测试执行机也需要进行相应的属性配置,包括执行机ip、执行机所支持的操作系统、浏览器、执行工具等信息。
自动化测试集中调度模块402,用于将用户批量发起的自动化测试脚本按照先到先服务的原则放入脚本执行队列当中,逐一对队列中的脚本属性信息进行分析,获取脚本执行所需的属性;
当完成了脚本属性的维护和执行机属性的维护后,进一步将用户批量发起的自动化测试脚本按照先到先服务的原则放入到脚本执行队列当中,然后逐一的对队列中的脚本属性信息进行分析,获取到脚本执行所需的属性。
自动化测试集中调度模块402,还用于监控脚本执行机的状态,对于空闲脚本执行机,获取其所支持的脚本执行属性;
然后对脚本执行机的状态进行状态,判断执行机是否为“空闲”,当执行机为空闲时,获取该空闲执行机的属性。
自动化测试集中调度模块402,还用于针对脚本执行机所支持的脚本属性,从脚本队列头开始依次查找适合该脚本执行机执行的自动化脚本;
然后根据脚本执行机所支持的脚本属性,从脚本队列的头开始依次查找适合该脚本执行机构执行的自动化脚本。
自动化测试集中调度模块402,还用于查找到符合属性的自动化脚本,将其从队列中取出,并发送到空闲脚本执行机上执行;
自动化测试执行引擎403,用于接收并解析所述自动化脚本,获取到脚本执行信息和执行工具信息;
自动化测试执行引擎403,还用于基于所述脚本执行信息生成可执行的自动化测试脚本文件;
自动化测试执行引擎403,还用于基于脚本执行工具信息调起相应的自动化测试执行工具并执行脚本;
自动化测试执行引擎403,还用于返回执行的结果和执行日志;
自动化测试集中调度模块402,还用于保存所述执行结果和执行日志。
将接收到的执行结果保存到数据库的任务执行表中,将执行日志保存到文件服务器中。
综上所述,在上述实施例中,当需要面向多工具执行技术进行自动化测试集中调度时,首先维护自动化脚本和脚本执行机的执行属性,并发送执行脚本,然后根据执行属性监控脚本执行机的运行状态,获取自动化脚本并发送自动化脚本,根据接收到的自动化脚本解析出自动化脚本的信息,调用相应的自动化测试执行工具生成执行结果和执行日志,最后保存执行结果和执行日志,通过整合不同自动化测试工具资源,支持多种自动化测试工具执行技术,根据不同的自动化脚本属性进行动态批量调度,提高了执行灵活性且降低了执行成本。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。