自动化测试方法及装置、终端和计算机可读存储介质
【技术领域】
本发明涉及研发管理技术领域,尤其涉及一种自动化测试方法及装置、终端和计算机可读存储介质。
【背景技术】
市面上对于用户界面的自动化测试,通常都是由工作人员直接编写自动化测试代码,需要本地搭建开发环境,耗时很久,且容易出错,另外,在后期维护时,如需修改,则必须修改测试代码,工作量十分巨大。
因此,如何简单高效地完成对用户界面的自动化测试,成为目前亟待解决的技术问题。
【发明内容】
本发明实施例提供了一种自动化测试方法及装置、终端和计算机可读存储介质,旨在解决相关技术中用户界面测试的后期维护工作量巨大的技术问题,能够简化用户界面测试的后期维护工作,进而简单高效地完成对用户界面的自动化测试。
第一方面,本发明实施例提供了一种自动化测试方法,包括:接收测试指示,并根据所述测试指示,获取用于自动化测试的excel文件,所述excel文件中存储有一个测试用例的属性信息;将所述excel文件中的所有内容一次性导入内存;将所述内存中所述excel文件中的所述所有内容代入结构化的xml文件,得到测试对象;在预定测试时间执行所述测试对象。
在本发明上述实施例中,可选地,所述测试用例的属性信息包括:用例描述、用例作者、用例操作步骤和用例执行的环境配置信息。
在本发明上述实施例中,可选地,在所述根据所述测试指示,获取用于自动化测试的excel文件的步骤之前,还包括:按照所述excel文件中的所述测试用例的功能类型,将所述excel文件存储至所述功能类型对应的功能目录下;所述根据所述测试指示,获取用于自动化测试的excel文件的步骤,包括:根据所述测试指示中的功能类型标签,确定对应的功能目录;在所述功能类型标签对应的功能目录下,根据所述测试指示中的测试用例标签,选择存储有所述测试用例标签对应的测试用例的属性信息的所述excel文件。
在本发明上述实施例中,可选地,所述根据所述测试指示,获取用于自动化测试的excel文件的步骤,具体包括:根据所述测试指示,建立临时目录;确定所述测试指示对应的若干种待测试功能所需的多个目标测试用例;将所述多个目标测试用例对应的多个所述excel文件复制至所述临时目录。
在本发明上述实施例中,可选地,还包括:在测试完成后,删除所述临时目录。
在本发明上述实施例中,可选地,还包括:获取测试用例编辑命令;根据所述测试用例编辑命令,编辑所述excel文件中所述测试用例的所述属性信息。
第二方面,本发明实施例提供了一种自动化测试装置,包括:excel文件获取单元,用于接收测试指示,并根据所述测试指示,获取用于自动化测试的excel文件,所述excel文件中存储有一个测试用例的属性信息;内容导入单元,用于将所述excel文件中的所有内容一次性导入内存;测试对象生成单元,用于将所述内存中所述excel文件中的所述所有内容代入结构化的xml文件,得到测试对象;测试执行单元,用于在预定测试时间执行所述测试对象。
在本发明上述实施例中,可选地,所述测试用例的属性信息包括:用例描述、用例作者、用例操作步骤和用例执行的环境配置信息。
在本发明上述实施例中,可选地,还包括:excel文件存储单元,用于在所述excel文件获取单元获取所述excel文件之前,按照所述excel文件中的所述测试用例的功能类型,将所述excel文件存储至所述功能类型对应的功能目录下;所述excel文件获取单元用于:根据所述测试指示中的功能类型标签,确定对应的功能目录;在所述功能类型标签对应的功能目录下,根据所述测试指示中的测试用例标签,选择存储有所述测试用例标签对应的测试用例的属性信息的所述excel文件。
在本发明上述实施例中,可选地,所述excel文件获取单元包括:临时目录建立单元,用于根据所述测试指示,建立临时目录;测试用例确定单元,用于确定所述测试指示对应的若干种待测试功能所需的多个目标测试用例;excel文件复制单元,用于将所述多个目标测试用例对应的多个所述excel文件复制至所述临时目录。
在本发明上述实施例中,可选地,还包括:临时目录删除单元,用于在测试完成后,删除所述临时目录。
在本发明上述实施例中,可选地,还包括:编辑命令获取单元,用于获取测试用例编辑命令;
excel文件编辑单元,根据所述测试用例编辑命令,编辑所述excel文件中所述测试用例的所述属性信息。
第三方面,本发明实施例提供了一种终端,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行上述第一方面中任一项所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述第一方面中任一项所述的方法流程。
通过以上技术方案,针对相关技术中的用户界面测试的后期维护工作量巨大的技术问题,可简化用户界面测试的后期维护工作,进而简单高效地完成对用户界面的自动化测试。
具体来说,可直接将测试用例的多种属性信息存储至excel文件中,如需该测试用例进行测试,则直接将该excel文件导入测试设备的内存待使用,在进行测试时,可将excel文件中的内容代入预定的结构化的xml文件中即可,生成可直接用于测试的测试文件。换句话说,预定的结构化的xml文件相当于测试用例模板,其中具有统一使用的代码,而对于各测试用例间具有差异的各种属性信息,则以表格的形式保存在excel文件,因此,在需要使用测试用例时,只要找到该测试用例对应的一个或多个excel文件,将这一个或多个excel文件中存储的该测试用例的属性信息对应填入模板也就是预定的结构化的xml文件即可生成完整的测试用例,从而实现了对该测试用例的自动代码编写。最终,可自动对完整的测试用例进行测试。
其中,所述测试用例的属性信息包括但不限于:用例描述、用例作者、用例操作步骤和用例执行的环境配置信息。在xml文件中可按行定义测试用例的属性信息,比如,设置每一行填写有测试用例的一种属性信息,如果单种属性信息具有多个类型,可按在该行内通过不同的列来表示不同的类型。比如,可在第一行、第二行、第三行、第四行分别表示用例描述、用例作者、用例操作步骤和用例执行的环境配置信息,第一行的第一列写入用例描述,其中,在用例描述包括用例的多种功能时,可在第一行的第一列至第n列分别写入用例描述包含的一种功能。再比如,可在第三行的第一列至第n列分别写入用例操作步骤的第一步骤至第n步骤,在第四行的第一列至第n列分别写入第一项至第n项的环境配置信息。需要知晓,xml文件中的任一格位置可写入内容,也可为空,由于xml文件中各格位置与预定的结构化的xml文件中的空闲位置一一对应,则当xml文件中的任一格位置写入内容时,最终可将该内容写入该格位置在预定的结构化的xml文件中对应的空闲位置,而当xml文件中的任一格位置为空时,预定的结构化的xml文件中对应的空闲位置也为空。
通过以上技术方案,相对于相关技术中人工编写和维护全部测试代码的过程,大大降低了代码编写工作量及出错率,使得仅编辑测试用例间的不同部分的属性信息即可,无需编辑全部测试代码,提升了测试用例编写乃至整个测试的效率,同时,因降低了代码编写工作量及出错率,也进一步提升了测试结果的有效性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本发明的一个实施例的自动化测试方法的流程图;
图2示出了本发明的另一个实施例的自动化测试方法的流程图;
图3示出了本发明的再一个实施例的自动化测试方法的流程图;
图4示出了本发明的一个实施例的自动化测试装置的框图;
图5示出了本发明的一个实施例的终端的框图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1示出了本发明的一个实施例的自动化测试方法的流程图。
如图1所示,本发明实施例提供了一种自动化测试方法,包括:
步骤102,接收测试指示,并根据所述测试指示,获取用于自动化测试的excel文件,所述excel文件中存储有一个测试用例的属性信息。
即直接将测试用例的多种属性信息存储至excel文件中。其中,测试指示可以有***接收到的人工操作产生,也可以来自任何与***进行通信连接的电子设备。所述测试用例的属性信息包括但不限于:用例描述、用例作者、用例操作步骤。这些属性信息可直接读入***内存,并再由内存代入结构化的xml文件中,形成可执行的测试用例。
另外,测试用例中往往需要写入环境配置信息,以供进行适合该测试用例的环境信息配置,保证测试的顺利进行,将用例执行的环境配置信息也加入excel文件中,可供***将环境信息配置的过程也加入自动化进行中,进一步提升了测试效率。
步骤104,将所述excel文件中的所有内容一次性导入内存。如需该测试用例进行测试,则直接将该excel文件导入测试设备的内存待使用。
步骤106,将所述内存中所述excel文件中的所述所有内容代入结构化的xml文件,得到测试对象。
在进行测试时,可将excel文件中的内容代入预定的结构化的xml文件中即可,生成可直接用于测试的测试文件。换句话说,预定的结构化的xml文件相当于测试用例模板,其中具有统一使用的代码,而对于各测试用例间具有差异的各种属性信息,则以表格的形式保存在excel文件,因此,在需要使用测试用例时,只要找到该测试用例对应的一个或多个excel文件,将这一个或多个excel文件中存储的该测试用例的属性信息对应填入模板也就是预定的结构化的xml文件即可生成完整的测试用例,从而实现了对该测试用例的自动代码编写。最终,可自动对完整的测试用例进行测试。
在xml文件中可按行定义测试用例的属性信息,比如,设置每一行填写有测试用例的一种属性信息,如果单种属性信息具有多个类型,可按在该行内通过不同的列来表示不同的类型。比如,可在第一行、第二行、第三行、第四行分别表示用例描述、用例作者、用例操作步骤和用例执行的环境配置信息,第一行的第一列写入用例描述,其中,在用例描述包括用例的多种功能时,可在第一行的第一列至第n列分别写入用例描述包含的一种功能。再比如,可在第三行的第一列至第n列分别写入用例操作步骤的第一步骤至第n步骤,在第四行的第一列至第n列分别写入第一项至第n项的环境配置信息。需要知晓,xml文件中的任一格位置可写入内容,也可为空,由于xml文件中各格位置与预定的结构化的xml文件中的空闲位置一一对应,则当xml文件中的任一格位置写入内容时,最终可将该内容写入该格位置在预定的结构化的xml文件中对应的空闲位置,而当xml文件中的任一格位置为空时,预定的结构化的xml文件中对应的空闲位置也为空。
步骤108,在预定测试时间执行所述测试对象。
总之,针对相关技术中的用户界面测试的后期维护工作量巨大的技术问题,可简化用户界面测试的后期维护工作,进而简单高效地完成对用户界面的自动化测试。通过以上技术方案,相对于相关技术中人工编写和维护全部测试代码的过程,大大降低了代码编写工作量及出错率,使得仅编辑测试用例间的不同部分的属性信息即可,无需编辑全部测试代码,提升了测试用例编写乃至整个测试的效率,同时,因降低了代码编写工作量及出错率,也进一步提升了测试结果的有效性。
图2示出了本发明的另一个实施例的自动化测试方法的流程图。
如图2所示,本发明的另一个实施例的自动化测试方法的流程包括以下步骤:
步骤202,按照excel文件中的测试用例的功能类型,将所述excel文件存储至所述功能类型对应的功能目录下。
由于测试用例的功能类型多种多样,为了方便查看、调用和管理,可为每种功能类型建立一个功能目录,将该功能类型的测试用例的excel文件均放置在对应的功能目录下。这样,当需要测试或维护用于测试某功能的测试用例时,可直接在该功能对应的功能目录下获取该测试用例的excel文件。这种对测试用例的excel文件分类存储的方式,便于根据实际需要快速查找待使用的excel文件,提升了测试效率。
步骤204,接收测试指示,并根据所述测试指示,建立临时目录。
步骤206,确定所述测试指示对应的若干种待测试功能所需的多个目标测试用例。
步骤208,将所述多个目标测试用例对应的多个所述excel文件复制至所述临时目录。
在接收到测试指示时,可将测试指示中指示测试的目标测试用例放入临时目录中,以使***在调用这些excel文件时无需次次查找调用路径,直接去临时目录调用即可,提升了测试效率。换句话说,将所述多个目标测试用例对应的多个所述excel文件复制至所述临时目录,就是将多个所述excel文件中的所有内容一次性导入内存,临时目录即建立在测试***的内存中。
在进行测试之前,由于多个目标测试用例间可能具有的关联关系,经常需要同时、先后或按照其他预定次序不间断地进行测试,才能够得到预期条件下的测试结果。故可将多个所述excel文件中的所有内容一次性导入内存,以便在对多个目标测试用例进行测试时,每个目标测试用例的excel文件均可在内存中直接取用,避免因需耗时再去存储位置调用目标测试用例的excel文件而造成的测试失败或测试结果不准确等问题,有助于提升测试效率和提升测试结果的有效性。
步骤210,将所述内存中多个所述excel文件中的所述所有内容代入结构化的xml文件,得到多个测试对象。
在进行测试时,可将excel文件中的内容代入预定的结构化的xml文件中即可,生成可直接用于测试的测试文件。换句话说,预定的结构化的xml文件相当于测试用例模板,其中具有统一使用的代码,而对于各测试用例间具有差异的各种属性信息,则以表格的形式保存在excel文件,因此,在需要使用测试用例时,只要找到该测试用例对应的一个或多个excel文件,将这一个或多个excel文件中存储的该测试用例的属性信息对应填入模板也就是预定的结构化的xml文件即可生成完整的测试用例,从而实现了对该测试用例的自动代码编写。最终,可自动对完整的测试用例进行测试。
步骤212,对所述多个测试对象进行测试。
步骤214,在测试完成后,删除所述临时目录。
在建立临时目录时,可为临时目录设置临时标记,在检测到一项测试完成后,即可检测内存中的各目录中是否有携带与该项测试相匹配的临时标记的目录,如果检测结果为内存中的各目录中有携带与该项测试相匹配的临时标记的目录,则将该携带与该项测试相匹配的临时标记的目录确定为临时目标,进行删除。最终,可将临时目录进行删除,以减少对存储空间或内存的占用。
通过以上技术方案,相对于相关技术中人工编写和维护全部测试代码的过程,大大降低了代码编写工作量及出错率,使得仅编辑测试用例间的不同部分的属性信息即可,无需编辑全部测试代码,提升了测试用例编写乃至整个测试的效率,同时,因降低了代码编写工作量及出错率,也进一步提升了测试结果的有效性。
图3示出了本发明的再一个实施例的自动化测试方法的流程图。
如图3所示,本发明的再一个实施例的自动化测试方法的流程,包括:
步骤302,按照excel文件中的测试用例的功能类型,将所述excel文件存储至所述功能类型对应的功能目录下。
具体来说,对于每个excel文件,都会根据其测试用例的功能类型进行分类,将相同功能类型的excel文件存储在该相同功能类型对应的功能目录下。这样一来,在测试过程中,当需要获取一个excel文件时,只需要在该excel文件的功能类型对应的功能目录中进行检索即可,而无需轮询所有的excel文件,从而提升了excel文件的获取速度,有助于进一步提升测试效率。
步骤304,获取测试指示,并根据所述测试指示中的功能类型标签,确定对应的功能目录。
测试指示包括功能类型标签,此功能类型标签指示了本次测试所需的excel文件所在的功能目录的功能类型,因此,可根据将功能类型标签与各功能目录的标签进行匹配,当功能类型标签与任一功能目录的标签匹配成功时,说明本次测试所需的excel文件存储在该功能目录下。因此,即可进入该功能目录对excel文件进行进一步搜寻。
步骤306,在所述功能类型标签对应的功能目录下,根据所述测试指示中的测试用例标签,选择存储有所述测试用例标签对应的测试用例的属性信息的所述excel文件。
测试指示还包括测试用例标签,测试用例标签指示了本次测试所需的测试用例的部分属性信息,而由于在选定的功能目录下,每个excel文件中都存储有自身所代表的测试用例的属性信息,因此,可将测试用例标签与每个excel文件的属性信息进行匹配,当与任一excel文件匹配成功时,说明该excel文件即为本次测试所需的测试用例对应的excel文件。
步骤308,将所述excel文件中的所有内容一次性导入内存。
步骤310,将所述内存中所述excel文件中的所述所有内容代入结构化的xml文件,得到测试对象。
步骤312,在预定测试时间执行所述测试对象。
需要补充的是,在图1至图3实施例的基础上,在本发明的一种实现方式中,还包括:根据测试用例编辑命令,编辑所述excel文件中所述测试用例的所述属性信息。
由于人工编写测试代码的情况下,后期如需修改,则需要重新编写测试代码,过程复杂易出错,故在采用excel文件存储测试用例的属性信息后,只需要对excel文件的内容进行简单的增减等修改操作,即可实现整个测试用例的改动。由此,大大简化了对测试用例的维护工作。
图4示出了本发明的一个实施例的自动化测试装置的框图。
如图4所示,本发明的一个实施例的自动化测试装置400包括:excel文件获取单元402,用于接收测试指示,并根据所述测试指示,获取用于自动化测试的excel文件,所述excel文件中存储有一个测试用例的属性信息;内容导入单元404,用于将所述excel文件中的所有内容一次性导入内存;测试对象生成单元406,用于将所述内存中所述excel文件中的所述所有内容代入结构化的xml文件,得到测试对象;测试执行单元408,用于在预定测试时间执行所述测试对象。
该自动化测试装置400使用图1至图3示出的实施例中任一项所述的方案,因此,具有上述所有技术效果,在此不再赘述。自动化测试装置400还具有以下技术特征:
在本发明上述实施例中,可选地,所述测试用例的属性信息包括:用例描述、用例作者、用例操作步骤和用例执行的环境配置信息。
在本发明上述实施例中,可选地,还包括:excel文件存储单元,用于在所述excel文件获取单元402获取所述excel文件之前,按照所述excel文件中的所述测试用例的功能类型,将所述excel文件存储至所述功能类型对应的功能目录下。
在本发明上述实施例中,可选地,所述excel文件获取单元402包括:临时目录建立单元,用于根据所述测试指示,建立临时目录;测试用例确定单元,用于确定所述测试指示对应的若干种待测试功能所需的多个目标测试用例;excel文件复制单元,用于将所述多个目标测试用例对应的多个所述excel文件复制至所述临时目录。
在本发明上述实施例中,可选地,还包括:临时目录删除单元,用于在测试完成后,删除所述临时目录。
在本发明上述实施例中,可选地,还包括:excel文件编辑单元,用于根据测试用例编辑命令,编辑所述excel文件中所述测试用例的所述属性信息。
图5示出了根据本发明的一个实施例的终端的框图。
如图5所示,本发明的一个实施例的终端500,包括至少一个存储器502;以及,与所述至少一个存储器502通信连接的处理器504;其中,所述存储器存储有可被所述至少一个处理器504执行的指令,所述指令被设置为用于执行上述图1至图3实施例中任一项所述的方案。因此,该终端500具有和图1至图3实施例中任一项相同的技术效果,在此不再赘述。
另外,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述图1至图3实施例中任一项所述的方法流程。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,相对于相关技术中人工编写和维护全部测试代码的过程,大大降低了代码编写工作量及出错率,使得仅编辑测试用例间的不同部分的属性信息即可,无需编辑全部测试代码,提升了测试用例编写乃至整个测试的效率,同时,因降低了代码编写工作量及出错率,也进一步提升了测试结果的有效性。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本发明所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。