自动化测试方法及装置制造方法及图纸

技术编号:15437135 阅读:91 留言:0更新日期:2017-05-25 19:19
本申请实施例涉及一种自动化测试方法及装置,主控模块从测试任务列表中读取未被执行过的至少一个测试任务;对未被执行过的至少一个测试任务中的每个测试任务,从节点模块集合中选取对应的空闲节点模块;向空闲节点模块发送对应的测试任务,以使空闲节点模块根据测试任务,获取对应的测试用例集合,并使空闲节点模块执行测试用例集合中的测试用例,并记录测试用例的执行结果信息。由此,可以支持多个测试任务并发执行,从而提高了自动化测试方法的效率。

Automatic test method and device

The embodiment of the invention relates to a device and a method of automatic test, the main control module reads from the test task list is not executed at least one test task; it has not been performed at least one of the test tasks in each test, from the selection of node module set idle node module should test; the task corresponding to the idle node module, so that the idle node module of the testing task, to obtain the corresponding set of test cases, and the idle node module to execute test cases in the test case set, and record the test results of the implementation of information. As a result, concurrent execution of multiple test tasks can be supported, thereby improving the efficiency of automated test methods.

【技术实现步骤摘要】
自动化测试方法及装置
本申请涉及测试
,尤其涉及一种自动化测试方法及装置。
技术介绍
随着自动化测试技术的普及,对终端设备的用户界面(UI,UserInterface)进行测试逐渐由手工测试转为UI自动化测试。UI自动化测试,即由机器模拟用户针对UI的操作,从而进行自动化测试,主要包含网页(Web)UI自动化测试和本地应用程序UI自动化测试。现有技术进行WebUI自动化测试时,程序员预先编写测试脚本,然后在服务端或者通信代理端插入测试脚本,从而实现Web运行时执行测试脚本,以获得测试结果,然而在上述测试方法中,一次只能执行一个测试任务,如,一次只能对一种运行环境(如,IOS6.0)下的Web进行测试,当需要对多种运行环境下的Web进行测试时,则需要根据串行的方式依次进行,这会影响自动化测试方法的效率。
技术实现思路
本申请实施例提供了一种自动化测试方法及装置,可以支持多个测试任务并发执行,由此提高了自动化测试方法的效率。第一方面,提供了一种自动化测试方法,该方法包括:主控模块从测试任务列表中读取未被执行过的至少一个测试任务;对所述未被执行过的至少一个测试任务中的每个测试任务,从节点模块集合中选取对应的空闲节点模块;向所述空闲节点模块发送对应的测试任务,以使所述空闲节点模块根据所述测试任务,获取对应的测试用例集合,并使所述空闲节点模块执行所述测试用例集合中的测试用例,记录所述测试用例的执行结果信息。第二方面,提供了一种自动化测试方法,该方法包括:空闲节点模块集合中的至少一个空闲节点模块接收主控模块发送的对应的测试任务,其中,所述测试任务是由所述主控模块从测试任务列表中读取的未被执行过的至少一个测试任务中的测试任务;所述空闲节点模块根据所述测试任务,获取对应的测试用例集合;所述空闲节点模块执行所述测试用例集合中的测试用例,并记录所述测试用例的执行结果信息。第三方面,提供了一种自动化测试装置,该装置包括:读取单元、选取单元和发送单元;所述读取单元,用于从测试任务列表中读取未被执行过的至少一个测试任务;所述选取单元,用于对所述读取单元读取的所述未被执行过的至少一个测试任务中的每个测试任务,从节点模块集合中选取对应的空闲节点模块;所述发送单元,用于向所述选取单元选取的所述空闲节点模块发送对应的测试任务,以使所述空闲节点模块根据所述测试任务,获取对应的测试用例集合,并使所述空闲节点模块执行所述测试用例集合中的测试用例,记录所述测试用例的执行结果信息。第四方面,提供了一种自动化测试装置,该装置包括:接收单元、获取单元和执行单元;所述接收单元,用于接收主控模块发送的对应的测试任务,其中,所述测试任务是由所述主控模块从测试任务列表中读取的未被执行过的至少一个测试任务中的测试任务;所述获取单元,用于根据所述接收单元接收的所述测试任务,获取对应的测试用例集合;所述执行单元,用于执行所述获取单元获取的所述测试用例集合中的测试用例,并记录所述测试用例的执行结果信息。本申请提供的自动化测试方法及装置,主控模块从测试任务列表中读取未被执行过的至少一个测试任务;对所述未被执行过的至少一个测试任务中的每个测试任务,所述主控模块从节点模块集合中选取对应的空闲节点模块;所述主控模块向所述空闲节点模块发送对应的测试任务,以使所述空闲节点模块根据所述测试任务,获取对应的测试用例集合,并使所述空闲节点模块执行所述测试用例集合中的测试用例,并记录所述测试用例的执行结果信息。由此,可以支持多个测试任务并发执行,从而提高了自动化测试方法的效率。附图说明图1为本申请一种实施例提供的自动化测试方法流程图;图2为本申请的测试系统的示意图;图3为图2中的主控模块的示意图;图4为图2中的一个节点模块的示意图;图5为图4中的驱动单元的示意图;图6为本申请的测试任务列表的示意图之一;图7为本申请的测试任务列表的示意图之二;图8为本申请的测试任务列表的示意图之三;图9为本申请另一种实施例提供的自动化测试方法流程图;图10为本申请再一种实施例提供的自动化测试装置示意图;图11为本申请又一种实施例提供的自动化测试装置示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为便于对本申请实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本申请实施例的限定。本申请实施例提供的自动化测试方法及装置,适用于对终端设备的WebUI进行自动化测试的场景,尤其适用于对不同运行环境下的移动终端的WebUI进行并发自动化测试的场景,此处,不同的运行环境可以是指运行WebUI的移动终端的多种类型操作系统的不同版本,如IOS(6,7.2,8+)或者Andriod(2.3,3,4.2,4.4.4,5+)。当然,在实际应用中,上述不同运行环境也可以是指WebUI的不同版本(存在表现差异或者容器差异)等。此外,本说明书中的Web可以为如下三种类型中的任一种:1)基于本地(操作系统)运行的应用程序(Application,App),也称原生(Native)App;2)基于高端机的浏览器运行的WebApp;3)混合式(Hybrid)App。其中,第三种类型的Web为目前通用的Web类型,如,淘宝客户端或者支付宝钱包客户端等均采用第三种类型的Web。图1为本申请一种实施例提供的自动化测试方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,例如,可以是测试系统中的主控模块(Master),参见图2所示的测试系统的示意图,该测试系统包括主控模块21和一个或者多个节点模块(Slave)22,一个或者多个节点模块22组成节点模块集合,主控模块21与一个或者多个节点模块22之间可以通过长链接的方式通信,如,在任一节点模块执行测试任务结束后,实时向主控模块21返回测试任务的执行结果信息;也可以是主控模块21周期性向一个或者多个节点模块22发送执行结果询问请求(如,超文本传输协议(HyperTextTransferProtocol,HTTP)请求),一个或者多个节点模块22在接收到执行结果询问请求之后,向主控模块21返回测试任务的执行结果信息。优选地,上述节点模块集合中的节点模块的个数不小于测试任务的个数。参见图3所示的图2中的主控模块的示意图,图3中,主控模块21包含第二UI211,主控模块21通过第二UI211接收用户输入的操作指令;和/或,主控模块21通过第二UI211向用户展示执行结果信息。举例来说,管理员可以基于该第二UI211创建、修改或者删除测试任务。此外,管理员还可以通过该第二UI211查看已创建的测试任务的执行结果信息。在一种具体实现方式中,主控模块21通过测试任务列表维护上述创建的测试任务,其中,维护是指增加、删除以及修改测试任务。图3中,主控模块21还具有调度与派发测试任务的功能,即当读取到已创建的未被执行的测试任务时,从节点模块集合中选取本文档来自技高网...
自动化测试方法及装置

【技术保护点】
一种自动化测试方法,其特征在于,该方法包括:主控模块从测试任务列表中读取未被执行过的至少一个测试任务;对所述未被执行过的至少一个测试任务中的每个测试任务,从节点模块集合中选取对应的空闲节点模块;向所述空闲节点模块发送对应的测试任务,以使所述空闲节点模块根据所述测试任务,获取对应的测试用例集合,并使所述空闲节点模块执行所述测试用例集合中的测试用例,记录所述测试用例的执行结果信息。

【技术特征摘要】
1.一种自动化测试方法,其特征在于,该方法包括:主控模块从测试任务列表中读取未被执行过的至少一个测试任务;对所述未被执行过的至少一个测试任务中的每个测试任务,从节点模块集合中选取对应的空闲节点模块;向所述空闲节点模块发送对应的测试任务,以使所述空闲节点模块根据所述测试任务,获取对应的测试用例集合,并使所述空闲节点模块执行所述测试用例集合中的测试用例,记录所述测试用例的执行结果信息。2.根据权利要求1所述的方法,其特征在于,所述测试用例是根据待测试网页Web的第一用户界面UI及控件预先编写的。3.根据权利要求1或2所述的方法,其特征在于,所述测试任务中还携带操作系统的类型,所述空闲节点模块在执行所述测试用例集合中的测试用例时,通过所述类型的操作系统的应用程序编程接口API函数,实现与所述类型的操作系统交互,其中,所述类型的操作系统的API函数封装在所述空闲节点模块的驱动单元中。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:所述主控模块周期性向所述空闲节点模块发送执行结果询问请求,以使所述空闲节点模块在记录所述测试用例的执行结果信息后,向所述主控模块返回所述执行结果信息。5.根据权利要求1-4任一项所述的方法,其特征在于,所述从节点模块集合中选取对应的空闲节点模块包括:向所述节点模块集合中的每个节点模块发送空闲询问请求,并将根据所述空闲询问请求,返回用于表示空闲的消息的任一节点模块选取为所述空闲节点模块。6.一种自动化测试方法,其特征在于,该方法包括:空闲节点模块集合中的至少一个空闲节点模块接收主控模块发送的对应的测试任务,其中,所述测试任务是由所述主控模块从测试任务列表中读取的未被执行过的至少一个测试任务中的测试任务;所述空闲节点模块根据所述测试任务,获取对应的测试用例集合;所述空闲节点模块执行所述测试用例集合中的测试用例,并记录所述测试用例的执行结果信息。7.根据权利要求6所述的方法,其特征在于,所述测试任务中携带与所述测试任务对应的测试用例集合的地址信息;所述空闲节点模块根据所述测试任务,获取对应的测试用例集合包括:所述空闲节点模块根据所述地址信息,从代码仓库中下载对应的测试用例集合。8.根据权利要求6或7所述的方法,其特征在于,所述测试任务中还携带操作系统的类型;所述空闲节点模块执行所述测试用例集合中的测试用例包括:所述空闲节点模块在执行所述测试用例集合中的测试用例时,通过所述类型的操作系统的应用程序编程接口API函数,实现与所述类型的操作系统交互,其中,所述类型的操作系统的API函数封装在所述空闲节点模块的驱动单元中。9.根据权利要求6所述的方法,其特征在于,在所述记录所述测试用例的执行结果信息之后,所述方法还包括:所述空闲节点模块直接向所述主控模块返回所述执行结果信息;或者,所述空闲节点模块在接收到所述主控模块发送的询问请求时,向所述主控模块返回所述...

【专利技术属性】
技术研发人员:徐达峰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1