测试任务处理方法、装置、系统、电子装置和存储介质与流程

文档序号:31602357发布日期:2022-09-21 09:16阅读:95来源:国知局
测试任务处理方法、装置、系统、电子装置和存储介质与流程

1.本技术涉及自动化测试技术领域,特别是涉及测试任务处理方法、装置、系统、电子装置和存储介质。


背景技术:

2.为了缩短测试周期、避免人为操作错误以及提高回归测试效率而应用了用户界面(user interface,简称为ui)自动化测试。然而,在相关技术中,每次测试流程变更都需要修改代码,例如在使用自动化测试工具中编写好测试脚本后,当用到数据池(数据驱动)时,首先需要利用工具本身的机制创建脚本对应的数据池的数据结构,然后需要手动修改脚本对应的数据池的数据,以满足重复执行自动化测试脚本的目的,导致针对测试任务处理的效率较低。
3.目前针对相关技术中测试任务处理的效率低的问题,尚未提出有效的解决方案。


技术实现要素:

4.本技术实施例提供了一种测试任务处理方法、装置、系统、电子装置和存储介质,以至少解决相关技术中测试任务处理的效率低的问题。
5.第一方面,本技术实施例提供了一种测试任务处理方法,应用于服务器设备;所述方法包括:
6.获取待处理测试任务,并将所述待处理测试任务分配至预设的测试执行机;
7.接收所述测试执行机发送的脚本执行结果,并根据所述脚本执行结果生成测试任务处理结果;其中,所述脚本执行结果是由所述测试执行机利用流水线技术,根据所述待处理测试任务生成测试脚本,并运行所述测试脚本进行自动化测试生成的。
8.在其中一些实施例中,所述服务器设备连接至少两个执行机;所述将所述待处理测试任务分配至预设的测试执行机包括:
9.获取预设的移动终端唯一标识信息,根据所述移动终端唯一标识信息生成分别与每个所述执行机对应的第一执行机标签,并根据所述第一执行机标签和所述待处理测试任务,从所有所述执行机中确定所述测试执行机;和/或,
10.根据所述待处理测试任务获取预设的测试场景信息,根据所述测试场景信息生成分别与每个所述执行机对应的第二执行机标签,并根据所述第二执行机标签和所述待处理测试任务,从所有所述执行机中确定所述测试执行机;
11.将所述待处理测试任务分配至所述测试执行机。
12.第二方面,本技术实施例提供了一种测试任务处理方法,应用于测试执行机;所述方法包括:
13.接收服务器设备分配的待处理测试任务;
14.利用流水线技术,根据所述待处理测试任务生成测试脚本,并运行所述测试脚本进行自动化测试以生成脚本执行结果;
15.根据所述脚本执行结果生成测试任务处理结果,并将所述测试任务处理结果发送至所述服务器设备进行存储。
16.在其中一些实施例中,在同时接收到至少两个所述待处理测试任务的情况下,所述方法还包括:
17.根据预设的执行优先级策略,将所有所述待处理测试任务进行排序处理以生成任务排序结果;
18.根据所述任务排序结果,利用所述流水线技术生成所述待处理测试任务对应的测试任务处理结果。
19.在其中一些实施例中,所述利用流水线技术,根据所述待处理测试任务生成测试脚本,并运行所述测试脚本进行自动化测试以生成脚本执行结果包括:
20.利用流水线技术,根据所述待处理测试任务生成所述测试脚本;
21.利用依赖注入方法安装所述测试脚本对应的依赖服务,利用所述流水线技术启动所述依赖服务,并通过所述依赖服务运行所述测试脚本以生成所述脚本执行结果。
22.在其中一些实施例中,所述服务器设备部署有ui自动化测试框架;其中,所述ui自动化测试框架为预设的jenkins工具。
23.第三方面,本技术实施例提供了一种测试任务处理装置,所述装置包括:获取模块和生成模块;
24.所述获取模块,用于获取待处理测试任务,并将所述待处理测试任务分配至预设的测试执行机;
25.所述生成模块,用于接收所述测试执行机发送的脚本执行结果,并根据所述脚本执行结果生成测试任务处理结果;其中,所述脚本执行结果是由所述测试执行机利用流水线技术,根据所述待处理测试任务生成测试脚本,并执行所述测试脚本得到的。
26.第四方面,本技术实施例提供了一种测试任务处理系统,所述系统包括:服务器设备和测试执行机;
27.所述服务器设备用于获取待处理测试任务,并将所述待处理测试任务分配至预设的测试执行机;
28.所述服务器设备还用于接收所述测试执行机发送的脚本执行结果,并根据所述脚本执行结果生成测试任务处理结果;其中,所述脚本执行结果是由所述测试执行机利用流水线技术,根据所述待处理测试任务生成测试脚本,并执行所述测试脚本得到的。
29.第五方面,本技术实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的测试任务处理方法。
30.第六方面,本技术实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的测试任务处理方法。
31.相比于相关技术,本技术实施例提供的测试任务处理方法、装置、系统、电子装置和存储介质,其中,该方法应用于服务器设备,通过获取待处理测试任务,并将该待处理测试任务分配至预设的测试执行机;接收该测试执行机发送的脚本执行结果,并根据该脚本执行结果生成测试任务处理结果;其中,该脚本执行结果是由该测试执行机利用流水线技术,根据该待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试生成的,解决
了测试任务处理的效率低的问题,实现了高效、准确的测试任务处理方法。
32.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
33.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
34.图1是根据本技术实施例的一种测试任务处理方法的应用环境图;
35.图2是根据本技术实施例的一种测试任务处理方法的流程图;
36.图3是根据本技术实施例的一种测试任务处理架构的示意图;
37.图4是根据本技术实施例的另一种测试任务处理方法的流程图;
38.图5是根据本技术优选实施例的一种测试任务处理方法的时序图;
39.图6是根据本技术实施例的一种测试任务处理装置的结构框图;
40.图7是根据本技术实施例的一种测试任务处理系统置的结构框图;
41.图8是根据本技术实施例的一种计算机设备内部的结构图。
具体实施方式
42.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
43.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
44.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本技术所涉及的术语“第
一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
45.本技术提供的测试任务处理方法,可以应用于如图1所示的应用环境中。其中,移动终端12通过接口与测试执行机14进行通信,测试执行机14通过网络与服务器设备16进行通信。服务器设备16获取待处理测试任务,并将该待处理测试任务分配至移动终端12所在的测试执行机;该服务器设备16接收该测试执行机发送的脚本执行结果,并根据该脚本执行结果生成测试任务处理结果;其中,该脚本执行结果是由该测试执行机14利用流水线技术,根据该待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试生成的。该移动终端12可以但不限于是各种智能手机、笔记本电脑和平板电脑,该服务器设备16可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
46.需要说明的是,本发明实施例所提供的一种测试任务处理方法,可以应用于任一安装有预设的ui自动化测试框架的服务器设备中,该预设的自动化测试框架可以为预设的jenkins工具;其中,jenkins工具是一个可扩展的持续集成引擎。上述预设的jenkins工具可以实现持续、自动地构建、测试待测试系统的功能。或者,上述ui自动化测试框架也可以采用其他的主流持续集成/持续发布(continuous integration/continuous deployment)ci/cd工具搭建而成,例如采用gitlabci工具等。则通过该ui自动化测试框架可以搭建ui自动化测试平台。
47.本实施例提供了一种测试任务处理方法,应用于服务器设备;图2是根据本技术实施例的一种测试任务处理方法的流程图,如图2所示,该流程包括如下步骤:
48.步骤s210,获取待处理测试任务,并将该待处理测试任务分配至预设的测试执行机。
49.其中,上述待处理测试任务可以由测试人员通过上述ui自动化测试框架创建生成;具体地,在待处理测试任务创建前,各移动终端可以通过usb等接口连接到执行机,由各执行机通过usb接口管理设备连接状态;执行机可以启动消息监听服务,等待ui自动化测试平台发送创建任务信息。在创建测试任务阶段,由测试人员在ui自动化测试平台创建待处理测试任务,上述服务器设备接收到ui自动化测试平台的创建消息后,解析消息体中所需参数,根据解析结果查找到对应的测试执行机,并将创建的测试任务分配至该测试执行机。该测试执行机用于执行上述服务器设备分配的任务,并返回任务的进度和结果。
50.需要补充说明的是,在上述ui自动化测试框架实际运行待处理测试任务之前,需要先配置任务设置以及对应的流水线。该任务设置的配置信息主要包含:任务名称、任务所需参数和流水线等信息。流水线主要功能设计可以包括:指定执行此次任务的宿主机、下载最新脚本、安装依赖、执行脚本、产物收集以及任务结束通知等。
51.步骤s220,接收该测试执行机发送的脚本执行结果,并根据该脚本执行结果生成测试任务处理结果;其中,该脚本执行结果是由该测试执行机利用流水线技术,根据该待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试生成的。
52.其中,当上述测试人员创建待处理测试任务时,会以restful api等的方式往上述服务器设备发送创建任务的请求,请求内容中包含刚刚创建好的任务名称及此次任务所需参数。该服务器设备按照上述流水线设计,把任务分发到相应的宿主机,即上述测试执行机继续执行后续步骤,包含下载最新脚本、驱动脚本执行等步骤;最后在任务执行完成后进行收集相关产物,及发送通知。具体地,通过上述步骤s220,上述服务器设备将待处理测试任
务分配给对应的测试执行机节点之后,由该测试执行机运行流水线脚本,以从代码仓库拉取与该待处理测试任务相应的测试脚本代码并运行;或者,也可以在服务器设备接收到待处理测试任务之后,由该服务器设备运行流水线脚本,并从代码仓库拉取对应的测试脚本代码,并将测试脚本代码分配置对应的测试执行机节点。则测试脚本代码执行完成后,该测试执行机可以收集日志、测试报告等产物,该收集的产物即为上述脚本执行结果,并将收集的产物移动到产物目录;该测试执行机生成测试报告后,可以调用任务完成消息,并把产物和测试报告负载到任务完成消息中,最终由ui自动化测试平台接收到消息并解析结果,然后更新用户页面,从而实现了页面的可配置化。以上述流水线采用jenkins工具支持的pipeline流水线为例,利用pipeline流水线生成最终的测试任务处理结果的代码示例如下所示:
53.[0054][0055]
在相关技术中每次流程变更都需要修改代码,导致针对测试任务处理的效率低;而本技术实施例通过上述步骤s210至s220,通过服务器设备将获取到的待处理测试任务分配给相应的测试执行机,并由测试执行机利用流水线技术,根据分配的待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试,从而无需测试人员在针对不同业务场景进行测试时手动更改代码,只需提前配置不同任务配置、流水线、脚本等信息即可替代实现测试人员对不同业务场景测试时手动更改代码的目的,解决了测试任务处理的效率低的问题,实现了高效、准确的测试任务处理方法。
[0056]
在其中一些实施例中,上述服务器设备连接至少两个执行机;上述将该待处理测
试任务分配至预设的测试执行机还包括如下步骤:
[0057]
步骤s211,获取预设的移动终端唯一标识信息,根据该移动终端唯一标识信息生成分别与每个该执行机对应的第一执行机标签,并根据该第一执行机标签和该待处理测试任务,从所有该执行机中确定该测试执行机;和/或,根据该待处理测试任务获取预设的测试场景信息,根据该测试场景信息生成分别与每个该执行机对应的第二执行机标签,并根据该第二执行机标签和该待处理测试任务,从所有该执行机中确定该测试执行机。
[0058]
其中,上述移动终端唯一标识信息可以为设备的唯一设备识别符(unique device identifier,简称为udid)等信息;具体地,在创建待处理测试任务的过程中,服务器设备解析创建消息体中的所需参数,以解析得到该移动终端唯一标识信息,并根据该移动终端唯一标识信息为每个执行机配置标签,标签内容为当前的执行机节点通过usb连接的移动终端唯一标识信息。则该服务器设备可以通过根据该移动终端唯一标识信息,寻找到移动终端所在的执行机节点,并将该执行机节点确定为上述测试执行机。或者,上述服务器设备还可以基于业务维度实现为各执行机的标签配置。具体地,不同的业务场景可以对应不同的执行机;例如,执行机1的第二执行机标签的标签内容可以为稳定性测试场景,执行机2的第二执行机标签的标签内容可以为灰度测试场景等;则该服务器设备通过解析该待处理测试任务的测试场景信息,查找匹配与该测试场景信息对应的第二执行机标签的标签内容,并基于匹配到的第二执行机标签,确定该第二执行机标签对应的执行机为需要执行该待处理测试任务的测试执行机。
[0059]
步骤s212,将该待处理测试任务分配至该测试执行机。
[0060]
通过上述步骤s211至步骤s212,通过标签方式分配任务到指定的测试执行机,从而保证了测试脚本中所有指令均能够正确发送到指定的移动终端,有效提高了测试任务处理的准确性,实现了针对各执行机节点以及测试任务的统一管理。
[0061]
需要补充说明的是,上述每个执行机均可以通过usb接口等连接至少一个移动终端;以其中一个执行机为例,图3是根据本技术实施例的一种测试任务处理架构的示意图,如图3所示,服务器设备16通过网络连接其中一个执行机32,该服务器设备16可以预先配置好流水线等信息,并驱动流水线,以使得能够在对应的执行机32上运行流水线来进行后续的任务处理。该执行机分别连接多个移动终端12;在移动终端12链接的执行机32上,为每台移动终端12启动一个基于java进程实现的slave服务,并在slave配置中的标签项添加移动终端唯一标识信息;其中,该服务器设备16基于该移动终端唯一标识信息为对应的执行机32配置标签,并基于配置的标签将上述待处理测试任务分配至对应的执行机32。
[0062]
本实施例还提供了一种测试任务处理方法,应用于测试执行机;图4是根据本技术实施例的另一种测试任务处理方法的流程图,如图4所示,该流程包括如下步骤:
[0063]
步骤s410,接收服务器设备分配的待处理测试任务。
[0064]
步骤s420,利用流水线技术,根据该待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试以生成脚本执行结果。
[0065]
步骤s430,根据该脚本执行结果生成测试任务处理结果,并将该测试任务处理结果发送至该服务器设备进行存储。
[0066]
其中,上述测试执行机根据脚本执行结果生成的测试任务处理结果可以是测试报告等形式;该测试执行机生成测试任务处理结果之后,还可以通过短信、邮件、webhook消
息、语音提示或其他形式向测试人员发送任务通知,以提示测试人员及时查看自动化测试结果并进行相应的处理。
[0067]
通过上述步骤s410至步骤s430,由测试执行机利用流水线技术,根据分配的待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试,从而无需测试人员在针对不同业务场景进行测试时手动更改代码,解决了测试任务处理的效率低的问题,实现了高效、准确的测试任务处理方法。
[0068]
在其中一些实施例中,在同时接收到至少两个上述待处理测试任务的情况下,上述测试任务处理方法还包括如下步骤:根据预设的执行优先级策略,将所有该待处理测试任务进行排序处理以生成任务排序结果;根据该任务排序结果,利用该流水线技术生成该待处理测试任务对应的测试任务处理结果。
[0069]
其中,上述执行优先级策略可以预先进行设定,设定的策略原则可以为:获取到的待处理测试任务的时间越早,其优先级越高;例如,待处理测试任务1的创建时间早于待处理测试任务2的创建时间,则待处理测试任务1的优先级高于待处理测试任务2的优先级。或者,该设定的策略原则也可以为:获取到的待处理测试任务的紧急程度越高,其优先级越高;例如,可以依据任务紧急程度设定灰度测试任务的优先级级别高于稳定性测试任务。可以理解的是,该事件优先级策略还可以依据其他原则预先设定,在此不再赘述。则根据设定的执行优先级策略,将所有待处理测试任务按照例如优先级由高到低的顺序进行排序,得到任务排序结果,并最终依据该任务排序结果,按照例如排序由高到低的顺序执行各待处理测试任务,在该测试执行机执行当前的待处理测试任务时,其他剩余的待处理测试任务进行排队以等待该测试执行机执行。需要补充说明的是,在上述实施例中各测试执行机的可执行任务设置为1;此外,在各测试执行机的可执行任务大于1的情况下,上述测试执行机还可以利用双重锁等技术多线程执行上述待处理测试任务。
[0070]
通过上述实施例,在测试执行机同时接收到多个待处理测试任务的情况下,通过预设的执行优先级策略对各待处理测试任务排序进行处理,从而能够依据实际情况自动确定需要优先处理的待处理测试任务,有效提高了测试任务处理的准确性。
[0071]
在其中一些实施例中,上述利用流水线技术,根据该待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试以生成脚本执行结果还包括如下步骤:
[0072]
步骤s421,利用流水线技术,根据该待处理测试任务生成该测试脚本。
[0073]
具体地,上述测试执行机可以通过流水线的阶段代码块中下载上述待处理测试任务对象的测试脚本代码,以供后续步骤执行相应脚本代码。
[0074]
步骤s422,利用依赖注入方法安装该测试脚本对应的依赖服务,利用该流水线技术启动该依赖服务,并通过该依赖服务运行该测试脚本以生成该脚本执行结果。
[0075]
其中,上述依赖注入方法可以采用构造器方法注入、set注入或基于注解的注入等方式。则上述测试执行机可以通过在例如pipeline流水线的阶段代码块启动必要依赖服务,该依赖服务可以包括苹果自动化测试驱动(webdriveragent)或三方自动化测试框架(appium)等服务,并存储依赖服务地址,供脚本执行时使用。具体地,以上述流水线采用jenkins工具支持的pipeline流水线为例,该pipeline流水线的另一代码示例如下所示:
[0076][0077][0078]
通过上述步骤s421至步骤s422,通过在上述流水线执行流程中加入启动必要依赖服务的步骤,从而实现了借助jenkins等ci/cd工具的插件机制,方便扩展现有任务处理功能。
[0079]
下面通过优选实施例对本技术实施例进行描述和说明。以上述服务器设备jenkins服务器为例,采用图5是根据本技术优选实施例的一种测试任务处理方法的时序图,如图5所示,该测试任务处理方法包括如下步骤:
[0080]
步骤s501,创建任务;测试人员在上述ui自动化测试平台上创建待处理测试任务。该ui自动化测试平台基于搭建的jenkins服务实现;jenkins服务作为master节点,主要用于处理调度构建作业,把构建作业分发到执行机(slave)节点实际执行,并监视slave节点的状态;此外,slave节点的构建结果和构建产物最终传回至master节点,例如在jenkins工作目录下面的workspace内的内容,同样可以存储在master节点。
[0081]
步骤s502,jenkins服务器查找移动终端所在的slave节点,该移动终端所在的slave节点即为测试执行机节点;具体地,由该jenkins服务器为每个slave节点配置标签,标签内容为当前slave通过usb接口连接的移动终端唯一标识信息;可以理解的是,各slave节点用于执行master节点分配的任务,并返回任务的进度和结果。
[0082]
步骤s503,将测试任务分配给测试执行机;通过pipeline流水线的node块定义在该测试执行机上代理执行流水线。
[0083]
步骤s504,下载脚本,启动服务,并运行脚本。具体地,编写pipeline流水线,通过stage块定义各个阶段。
[0084]
步骤s505,收集产物,生成测试报告,并将收集到的产物以及测试报告发送回jenkins服务器。
[0085]
通过上述实施例,将ui自动化测试任务和主流ci/cd工具jenkins打通,并借助jenkins等ci/cd工具的插件机制,方便扩展现有任务处理功能,从而实现了基于jenkins的移动应用自动化测试任务管理方法。
[0086]
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0087]
本实施例还提供了一种测试任务处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0088]
图6是根据本技术实施例的一种测试任务处理装置的结构框图,如图6所示,该装置包括:获取模块62和生成模块64;该获取模块62,用于获取待处理测试任务,并将该待处理测试任务分配至预设的测试执行机;该生成模块64,用于接收该测试执行机发送的脚本执行结果,并根据该脚本执行结果生成测试任务处理结果;其中,该脚本执行结果是由该测试执行机利用流水线技术,根据该待处理测试任务生成测试脚本,并执行该测试脚本得到的。
[0089]
通过上述实施例,生成模块64通过测试执行机利用流水线技术,根据分配的待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试,从而无需测试人员在针对不同业务场景进行测试时手动更改代码,解决了测试任务处理的效率低的问题,实现了高效、准确的测试任务处理装置。
[0090]
在其中一些实施例中,上述服务器设备连接至少两个执行机;上述获取模块62还用于获取预设的移动终端唯一标识信息,根据该移动终端唯一标识信息生成分别与每个该执行机对应的第一执行机标签,并根据该第一执行机标签和该待处理测试任务,从所有该执行机中确定该测试执行机;和/或,该获取模块62根据该待处理测试任务获取预设的测试
场景信息,根据该测试场景信息生成分别与每个该执行机对应的第二执行机标签,并根据该第二执行机标签和该待处理测试任务,从所有该执行机中确定该测试执行机;该获取模块62将该待处理测试任务分配至该测试执行机。
[0091]
本实施例还提供了一种测试任务处理装置,应用于测试执行机;该装置包括:接收模块、流水线模块和发送模块;该接收模块,用于接收服务器设备分配的待处理测试任务;该流水线模块,用于利用流水线技术,根据该待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试以生成脚本执行结果;该发送模块,用于根据该脚本执行结果生成测试任务处理结果,并将该测试任务处理结果发送至该服务器设备进行存储。
[0092]
在其中一些实施例中,在同时接收到两个该待处理测试任务的情况下,上述测试任务处理装置还包括排序模块;该排序模块,用于根据预设的执行优先级策略,将所有该待处理测试任务进行排序处理以生成任务排序结果;上述流水线模块根据该任务排序结果,利用该流水线技术生成该待处理测试任务对应的测试任务处理结果。
[0093]
在其中一些实施例中,上述服务器设备部署有ui自动化测试框架;其中,该ui自动化测试框架为预设的jenkins工具。
[0094]
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
[0095]
本实施例还提供了一种测试任务处理系统,图7是根据本技术实施例的一种测试任务处理系统置的结构框图,如图7所示,该系统包括:服务器设备16和测试执行机14;该服务器设备16用于获取待处理测试任务,并将该待处理测试任务分配至预设的测试执行机14;该服务器设备16还用于接收该测试执行机14发送的脚本执行结果,并根据该脚本执行结果生成测试任务处理结果;其中,该脚本执行结果是由该测试执行机14利用流水线技术,根据该待处理测试任务生成测试脚本,并执行该测试脚本得到的。
[0096]
通过上述实施例,由测试执行机14利用流水线技术,根据分配的待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试,从而无需测试人员在针对不同业务场景进行测试时手动更改代码,解决了测试任务处理的效率低的问题,实现了高效、准确的测试任务处理系统。
[0097]
在其中一些实施例中,上述服务器设备16连接至少两个执行机;该服务器设备16还用于获取预设的移动终端唯一标识信息,根据该移动终端唯一标识信息生成分别与每个该执行机对应的第一执行机标签,并根据该第一执行机标签和该待处理测试任务,从所有该执行机中确定该测试执行机14;和/或,该服务器设备16根据该待处理测试任务获取预设的测试场景信息,根据该测试场景信息生成分别与每个该执行机对应的第二执行机标签,并根据该第二执行机标签和该待处理测试任务,从所有该执行机中确定该测试执行机14;该服务器设备16将该待处理测试任务分配至该测试执行机14。
[0098]
在其中一些实施例中,在同时接收到至少两个该待处理测试任务的情况下,上述测试执行机14还用于根据预设的执行优先级策略,将所有该待处理测试任务进行排序处理以生成任务排序结果;该测试执行机14根据该任务排序结果,利用该流水线技术生成该待处理测试任务对应的测试任务处理结果。
[0099]
在其中一些实施例中,上述测试执行机14还用于利用流水线技术,根据该待处理测试任务生成该测试脚本;该测试执行机14利用依赖注入方法安装该测试脚本对应的依赖服务,利用该流水线技术启动该依赖服务,并通过该依赖服务运行该测试脚本以生成该脚本执行结果。
[0100]
在其中一些实施例中,上述服务器设备16部署有ui自动化测试框架;其中,该ui自动化测试框架为预设的jenkins工具。
[0101]
进一步地,上述服务器设备16和上述测试执行机14之间可以通过传输设备进行数据传输。
[0102]
在其中一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,图8是根据本技术实施例的一种计算机设备内部的结构图,如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试任务处理结果。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试任务处理方法。
[0103]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0104]
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0105]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0106]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0107]
s1,获取待处理测试任务,并将该待处理测试任务分配至预设的测试执行机。
[0108]
s2,接收该测试执行机发送的脚本执行结果,并根据该脚本执行结果生成测试任务处理结果;其中,该脚本执行结果是由该测试执行机利用流水线技术,根据该待处理测试任务生成测试脚本,并运行该测试脚本进行自动化测试生成的。
[0109]
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0110]
另外,结合上述实施例中的测试任务处理方法,本技术实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种测试任务处理方法。
[0111]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括
随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0112]
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0113]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1