掌桥专利:专业的专利平台
掌桥专利
首页

软件的UI测试方法、系统、设备及存储介质

文献发布时间:2024-04-18 19:59:31


软件的UI测试方法、系统、设备及存储介质

技术领域

本申请涉及自动化测试技术领域,尤其涉及一种软件的UI测试方法、系统、设备及存储介质。

背景技术

用户界面(User Interface,UI)自动化测试是自动化测试技术重要组成部份。当前,在实施UI自动化测试的过程时,大部分框架均是在解析UI页面后通过Xpath、id、class等属性定位UI元素,并通过引用UI元素的方式执行编写的测试用例。

现有技术中,在对于UI元素进行引用时,没有统一的规划和系统管理,且在测试场景一致,即测试页面和测试操作一致的情况下,若终端操作系统不同,例如:为IOS或Android系统时,需要编写不同的自动化测试用例。

然而,对UI元素没有统一的管理会导致UI元素的引用混乱,对应不同的终端操作系统编写不同的测试用例也会导致测试用例的利用率不高,从而降低软件的UI测试的效率、提高测试成本。

发明内容

本申请提供一种软件的UI测试方法、系统、设备及存储介质,用以解决软件的UI测试效率低的问题。

第一方面,本申请提供一种软件的UI测试方法,应用于UI测试执行引擎,包括:

获取用户发送的UI测试请求,所述UI测试请求包括:待测试终端操作系统的类型以及待测试场景;

根据所述待测试场景从UI测试平台获取对应的测试用例,所述测试用例中包括:测试操作动作列表以及各测试操作动作对应的UI元素的ID;

根据所述UI元素的ID以及所述待测试终端操作系统的类型,从UI测试平台中获取UI元素在待测试终端操作系统中的定位信息;

根据所述测试操作动作列表以及所述定位信息,生成UI元素的查找指令以及对应测试操作动作的执行指令,并按所述各测试操作动作的顺序先后发送给UI测试终端,所述查找指令中包括:UI元素在待测试终端操作系统中的定位信息。

在一种可能的设计中,所述方法还包括:根据所述待测试终端操作系统的类型,向安装有待测试终端操作系统的UI测试终端发送终端连接请求;若接收到所述UI测试终端返回的终端连接响应,所述UI测试终端连接成功。

在一种可能的设计中,所述按所述各测试操作动作的顺序先后发送给UI测试终端,包括:接收UI测试终端发送的UI元素的查找结果;若所述查找结果为已找到,将对应的所述测试操作动作的执行指令发送给所述UI测试终端,否则,将所述查找结果发送给所述UI测试平台。

在一种可能的设计中,所述按所述各测试操作动作的顺序先后发送给UI测试终端,还包括:接收UI测试终端发送的对所述UI元素进行测试操作处理的结果;若所述测试操作处理的结果为处理成功,将下一个所述UI元素的查找指令发送给所述UI测试终端,若所述测试操作处理的结果为处理失败,将所述对所述UI元素进行测试操作处理的结果发送给所述UI测试平台。

第二方面,本申请提供一种软件的UI测试方法,应用于UI测试终端,包括:

接收UI测试执行引擎发送的UI元素的查找指令以及对应测试操作动作的执行指令,所述查找指令中包括:UI元素在待测试终端操作系统中的定位信息;

根据所述查找指令,确定待测试终端操作系统中是否存在所述UI元素,并将UI元素的查找结果发送给UI测试执行引擎;

若所述待测试终端操作系统中存在所述UI元素,根据所述UI元素对应测试操作动作的执行指令,对所述UI元素进行测试操作处理。

在一种可能的设计中,所述方法还包括:将UI元素的查找结果发送给所述UI测试执行引擎。

在一种可能的设计中,所述方法还包括:将对所述UI元素进行测试操作处理的结果发送给所述UI测试执行引擎。

第三方面,本申请提供一种软件的UI测试方法,应用于UI测试平台,包括:

接收UI测试执行引擎发送的测试用例的获取指令,所述测试用例获取指令中包括:待测试场景的类型;

根据所述待测试场景的类型,从测试用例集合中提取待测试场景对应的测试用例并发送给所述UI测试执行引擎;

接收所述UI测试执行引擎发送的UI元素定位信息的获取指令,所述UI元素定位信息的获取指令包括:UI元素的ID以及待测试终端操作系统的类型;

根据所述UI元素的ID以及待测试终端操作系统的类型,从UI测试树形数据结构中提取UI元素在待测试终端操作系统中的定位信息,并发送给所述UI测试执行引擎。

在一种可能的设计中,所述方法还包括:构建并存储待测试软件的UI测试树形数据结构,所述UI测试树形数据结构包括:多个存储UI元素信息的叶子节点以及多个存储UI元素页面信息的非叶子节点,所述UI元素信息包括:UI元素的ID、UI元素对应的至少一个UI元素页面的ID以及UI元素在各类终端操作系统中的定位信息。

在一种可能的设计中,所述方法还包括:根据所述UI测试树形数据结构,编写并存储所述待测试软件在各测试场景下的测试用例集合,所述测试用例中包括:测试操作动作列表以及各测试操作动作对应的UI元素的ID。

在一种可能的设计中,所述UI元素在各类终端操作系统中的定位信息包括:不同定位方式下UI元素在各类终端操作系统中的定位信息。

第四方面,本申请提供一种软件的UI测试系统,包括:

如上第一方面所述的UI测试执行引擎、至少一个如上第二方面所述的UI测试终端、以及如上第三方面所述的UI测试平台。

第五方面,本申请提供一种软件的UI测试设备,包括:

处理器,存储器,通信接口;

所述存储器用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行如上第一方面或如上第二方面或如上第三方面任一方面所述的软件的UI测试方法。

第六方面,本申请提供一种可读存储介质,包括:其上存储有计算机程序,所述计算机程序被处理器执行时实现执行如上第一方面或者如上第二方面或者如上第三方面任一方面所述的软件的UI测试方法。

本申请提供的软件的UI测试方法、系统、设备及存储介质,通过接收UI测试终端发送的UI元素的查找结果,若查找结果为已找到,将对应的测试操作动作的执行指令发送给UI测试终端,否则,将查找结果发送给UI测试平台,接收UI测试终端发送的对UI元素进行测试操作处理的结果,若测试操作处理的结果为处理成功,将下一个UI元素的查找指令发送给UI测试终端,若测试操作处理的结果为处理失败,将对UI元素进行测试操作处理的结果发送给UI测试平台,其中,在按各测试操作动作的顺序先后发送给UI测试终端的过程中,参考查找结果以及测试操作处理的结果,实现了查找指令以及执行指令的有序发送,提高了软件的UI测试的效率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例提供的软件的UI测试方法的流程示意图;

图2为本申请实施例提供的按各测试操作动作的顺序先后发送给UI测试终端的流程示意图;

图3为本申请实施例提供的软件的UI测试方法的流程示意图;

图4为本申请实施例提供的软件的UI测试方法的流程示意图;

图5为本申请实施例提供的软件的UI测试系统的结构示意图;

图6为本申请实施例提供的一种软件的UI测试设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

现有技术中,在对于UI元素进行引用时,没有统一的规划和系统管理,且在测试场景一致,即测试页面和测试操作一致的情况下,若终端操作系统不同,例如:为IOS或Android系统时,需要编写不同的自动化测试用例。然而,对UI元素没有统一的管理会导致UI元素的引用混乱,对应不同的终端操作系统编写不同的测试用例也会导致测试用例的利用率不高,从而降低软件的UI测试的效率、提高测试成本。

本申请通过接收UI测试终端发送的UI元素的查找结果,若查找结果为已找到,将对应的测试操作动作的执行指令发送给UI测试终端,否则,将查找结果发送给UI测试平台,接收UI测试终端发送的对UI元素进行测试操作处理的结果,若测试操作处理的结果为处理成功,将下一个UI元素的查找指令发送给UI测试终端,若测试操作处理的结果为处理失败,将对UI元素进行测试操作处理的结果发送给UI测试平台,其中,在按各测试操作动作的顺序先后发送给UI测试终端的过程中,参考查找结果以及测试操作处理的结果,实现了查找指令以及执行指令的有序发送,提高了软件的UI测试的效率。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1为本申请第一实施例提供的软件的UI测试方法的流程示意图,执行主体为UI测试执行引擎,一般而言可以通过软件实现,或者硬件实现,或者软件和硬件相结合的方式实现。

如图1所示,本实施例的软件的UI测试方法可以包括以下步骤:

步骤S101、获取用户发送的UI测试请求,UI测试请求包括:待测试终端操作系统的类型以及待测试场景。

具体地,可以获取用户发送的UI测试请求,其中,UI测试请求是指对软件进行UI测试的用户指令,UI测试请求包括但不限于:待测试终端操作系统的类型以及待测试场景,其中,待测试终端操作系统的类型,是指安装了待测试软件的移动终端的操作系统的类型,可选的,待测试终端操作系统的类型包括但不限于:IOS操作系统或Android操作系统,其中,待测试场景是指待测试软件在进行测试时选定的测试场景,例如:对于购物软件,待测试场景可以包括:购物软件登陆场景、订单列表查看场景、找回登录密码场景、修改个人信息场景等场景。

步骤S102、根据待测试场景从UI测试平台获取对应的测试用例,测试用例中包括:测试操作动作列表以及各测试操作动作对应的UI元素的ID。

具体地,可以根据步骤S101中获取的UI测试请求中的待测试场景,从UI测试平台获取待测试场景对应的测试用例,测试用例中包括:测试操作动作列表以及各测试操作动作对应的UI元素的ID。其中,测试操作动作是指UI自动化测试支持的用户操作,在一个测试用例中可以包括多个测试操作动作,各操作动作按一定的操作顺序生成测试操作动作列表,可选的,测试操作包括但不限于:点击、输入、拖拽等动作。其中,UI元素是面向对象程序设计平台上的各类控件,一个测试操作动作与一个UI元素相对应,UI元素的ID为UI元素的唯一识别标识,可选的,UI元素包括但不限于:按钮、输入框等元素。

步骤S103、根据UI元素的ID以及待测试终端操作系统的类型,从UI测试平台中获取UI元素在待测试终端操作系统中的定位信息。

具体地,可以根据步骤S102中获取的测试用例中UI元素的ID以及待测试终端操作系统的类型,从UI测试平台中获取UI元素在待测试终端操作系统中的定位信息,其中,对于同一UI元素,待测试终端操作系统不同时,UI元素在待测试终端操作系统中的定位信息是不同的,例如:登录页面中的登录按钮,其在Android中的定位信息是“com.xxx.client:id/doLogin”;其在IOS中的定位信息为“//XCUIElementTypeButton[.=’登录’]”。

步骤S104、根据测试操作动作列表以及定位信息,生成UI元素的查找指令以及对应测试操作动作的执行指令,并按各测试操作动作的顺序先后发送给UI测试终端,查找指令中包括:UI元素在待测试终端操作系统中的定位信息。

具体地,可以根据步骤S102中获取的测试用例中各测试操作动作列表以及步骤S103中获取的UI元素在待测试终端操作系统中的定位信息,生成UI元素的查找指令以及对应测试操作动作的执行指令,并按各测试操作动作的顺序先后发送给UI测试终端。

其中,UI元素的查找指令是指向UI测试终端指示查找UI测试终端的待测试终端操作系统中是否存在对应的UI元素的指令,UI元素的查找指令中包括:UI元素在待测试终端操作系统中的定位信息。其中,测试操作动作的执行指令是指指示执行UI元素对应的测试操作动作的指令。

其中,如步骤S103中的描述,测试操作动作列表中的各测试操作动作是有一定的先后顺序的,因此,在发送UI元素的查找指令以及对应测试操作动作的执行指令时,是按各测试操作动作的顺序先后发送给UI测试终端的。

本实施例提供的软件的UI测试方法,通过获取用户发送的UI测试请求,UI测试请求包括:待测试终端操作系统的类型以及待测试场景;根据待测试场景从UI测试平台获取对应的测试用例,测试用例中包括:测试操作动作列表以及各测试操作动作对应的UI元素的ID;根据UI元素的ID以及待测试终端操作系统的类型,从UI测试平台中获取UI元素在待测试终端操作系统中的定位信息;根据测试操作动作列表以及定位信息,生成UI元素的查找指令以及对应测试操作动作的执行指令,并按各测试操作动作的顺序先后发送给UI测试终端,查找指令中包括:UI元素在待测试终端操作系统中的定位信息,其中,通过从UI测试平台获取的测试用例,与UI测试请求中的待测试终端操作系统的类型相结合的方式,实现了对不同的测试终端操作系统,利用同一测试用例进行软件的UI测试的过程,提高了软件的UI测试效率。

在图1所示实施例的基础上,本申请实施例还提出与UI测试终端进行连接的过程,具体地,首先,可以根据待测试终端操作系统的类型,向安装有待测试终端操作系统的UI测试终端发送终端连接请求。可选的,安装有待测试终端操作系统的UI测试终端还安装有待测试软件。然后,若接收到UI测试终端返回的终端连接响应,UI测试终端连接成功,否则,UI测试终端连接失败。

图2为本申请第二实施例提供的按各测试操作动作的顺序先后发送给UI测试终端的流程示意图,在图1所示实施例的基础上,本实施例对按各测试操作动作的顺序先后发送给UI测试终端的过程进行了展开描述。

如图2所示,本实施例的按各测试操作动作的顺序先后发送给UI测试终端可以包括以下步骤:

步骤S201、接收UI测试终端发送的UI元素的查找结果。

具体地,在步骤S104描述的向UI测试终端发送UI元素的查找指令之后,可以接收UI测试终端发送的UI元素的查找结果,其中,UI元素的查找结果包括:已找到和未找到。

步骤S202、若查找结果为已找到,将对应的测试操作动作的执行指令发送给UI测试终端,否则,将查找结果发送给UI测试平台。

具体地,若步骤S201中接收到的查找结果为已找到,可以将UI元素对应的测试操作动作的执行指令发送给UI测试终端,若步骤S201中接收到的查找结果为未找到,将查找结果发送给UI测试平台,并通过UI测试平台的用户界面展示给用户。

可选的,若步骤S201中接收到的查找结果为未找到,待测试软件在待测试终端操作系统的待测试场景下的UI测试结果为失败,可以生成UI测试的测试结果,将测试结果发送给UI测试平台,并通过UI测试平台的用户界面展示给用户。可选的,可以获取UI测试终端的UI测试的测试结果界面截图,并将测试结果界面截图发送给UI测试平台,并通过UI测试平台的用户界面展示给用户。

步骤S203、接收UI测试终端发送的对UI元素进行测试操作处理的结果。

具体地,在步骤S104或步骤S202中描述的向UI测试终端发送UI元素对应的测试操作动作的执行指令之和,可以接收UI测试终端发送的对UI元素进行测试操作处理的结果,其中,对UI元素进行测试操作处理的结果包括:处理成功和处理失败。

步骤S204、若测试操作处理的结果为处理成功,将下一个UI元素的查找指令发送给UI测试终端,若测试操作处理的结果为处理失败,将对UI元素进行测试操作处理的结果发送给UI测试平台。

具体地,若步骤S203中接收到的测试操作处理的结果为处理成功,将测试操作动作列表中下一个测试操作动作对应的UI元素的查找指令发送给UI测试终端,若步骤S203中接收到的测试操作处理的结果为处理失败,将对UI元素进行测试操作处理的结果发送给UI测试平台,并通过UI测试平台的用户界面展示给用户。

可选的,若步骤S203中接收到的测试操作处理的结果为处理失败,待测试软件在待测试终端操作系统的待测试场景下的UI测试结果为失败,可以生成UI测试的测试结果,将测试结果发送给UI测试平台,并通过UI测试平台的用户界面展示给用户。可选的,可以获取UI测试终端的UI测试的测试结果界面截图,并将测试结果界面截图发送给UI测试平台,并通过UI测试平台的用户界面展示给用户。

本实施例提供的按各测试操作动作的顺序先后发送给UI测试终端的过程,通过接收UI测试终端发送的UI元素的查找结果,若查找结果为已找到,将对应的测试操作动作的执行指令发送给UI测试终端,否则,将查找结果发送给UI测试平台,接收UI测试终端发送的对UI元素进行测试操作处理的结果,若测试操作处理的结果为处理成功,将下一个UI元素的查找指令发送给UI测试终端,若测试操作处理的结果为处理失败,将对UI元素进行测试操作处理的结果发送给UI测试平台,其中,在按各测试操作动作的顺序先后发送给UI测试终端的过程中,参考查找结果以及测试操作处理的结果,实现了查找指令以及执行指令的有序发送,提高了软件的UI测试的效率。

图3为本申请第三实施例提供的软件的UI测试方法的流程示意图,执行主体为UI测试终端,一般而言可以通过软件实现,或者硬件实现,或者软件和硬件相结合的方式实现。

如图3所示,本实施例的软件的UI测试方法可以包括以下步骤:

步骤S301、接收UI测试执行引擎发送的UI元素的查找指令以及对应测试操作动作的执行指令,查找指令中包括:UI元素在待测试终端操作系统中的定位信息。

具体地,可以接收UI测试执行引擎发送的UI元素的查找指令以及对应测试操作动作的执行指令,其中,查找指令中包括:UI元素在待测试终端操作系统中的定位信息,其中,对于UI元素的查找指令以及对应测试操作动作的执行指令的描述可以参考步骤S104中的描述,本实施例不再赘述。

步骤S302、根据查找指令,确定待测试终端操作系统中是否存在UI元素。

具体地,可以根据步骤S301中接收到的UI元素的查找指令中UI元素在待测试终端操作系统中的定位信息,确定待测试终端操作系统中是否存在UI元素。

步骤S303、若待测试终端操作系统中存在UI元素,根据UI元素对应测试操作动作的执行指令,对UI元素进行测试操作处理。

具体地,根据步骤S302中的判断,若待测试终端操作系统中存在UI元素,根据步骤S301中接收到的UI元素对应测试操作动作的执行指令,对UI元素进行测试操作处理,否则不做其他处理。

可选的,步骤S301中描述的接收对应测试操作动作执行指令的条件为:根据UI元素查找指令已确定待测试终端操作系统中存在对应的UI元素。

可选的,对UI元素进行测试操作处理的结果包括:处理成功以及处理失败,若结果为处理成功,则继续重复步骤S301至步骤S303中描述的接收UI测试执行引擎发送的UI元素的查找指令以及对应测试操作动作的执行指令,根据查找指令,确定待测试终端操作系统中是否存在UI元素,若待测试终端操作系统中存在UI元素,根据UI元素对应测试操作动作的执行指令,对UI元素进行测试操作处理的过程,其中,UI测试执行引擎发送的UI元素的查找指令以及对应测试操作动作的执行指令为测试用例中测试操作动作列表中下一测试操作动作对应的UI元素的查找指令,以及对应测试操作动作的执行指令。可选的,若结果为处理失败,则不再重复执行步骤S301至步骤S303中描述的过程。

本实施例提供的软件的UI测试方法,通过接收UI测试执行引擎发送的UI元素的查找指令以及对应测试操作动作的执行指令,查找指令中包括:UI元素在待测试终端操作系统中的定位信息,根据查找指令,确定待测试终端操作系统中是否存在UI元素,若待测试终端操作系统中存在UI元素,根据UI元素对应测试操作动作的执行指令,对UI元素进行测试操作处理,其中,通过UI元素的查找指令与对应测试操作动作的执行指令相结合的方式执行测试用例,提高了软件UI测试的测试效率。

在图3所示实施例的基础上,本申请实施例还提出,可以将UI元素的查找结果发送给UI测试执行引擎。以使UI测试执行引擎根据UI元素的查找结果发送对应的测试操作动作的执行指令。

在图3所示实施例的基础上,本申请实施例还提出,可以将对UI元素进行测试操作处理的结果发送给UI测试执行引擎。以使UI测试执行引擎根据对UI元素进行测试操作处理的结果发送下一个测试操作动作的执行指令。

图4为本申请第四实施例提供的软件的UI测试方法的流程示意图,执行主体为UI测试平台,一般而言可以通过软件实现,或者硬件实现,或者软件和硬件相结合的方式实现。

如图4所示,本实施例的软件的UI测试方法可以包括以下步骤:

步骤S401、接收UI测试执行引擎发送的测试用例的获取指令,测试用例获取指令中包括:待测试场景的类型。

具体地,可以接收UI测试执行引擎发送的测试用例的获取指令,测试用例获取指令中包括:待测试场景的类型,其中,测试用例的获取指令是指示获取待测试场景的测试用例的指令,其中,对待测试场景的类型的描述可以参考步骤S101中的描述,本实施例不再赘述。

步骤S402、根据待测试场景的类型,从测试用例集合中提取待测试场景对应的测试用例并发送给UI测试执行引擎。

具体地,可以根据步骤S401中接收到的UI测试执行引擎发送的测试用例的获取指令中待测试场景的类型,从测试用例集合中提取待测试场景对应的测试用例并发送给UI测试执行引擎,其中,测试用例合集是指待测试软件的所有待测试场景对应的测试用例的集合。

步骤S403、接收UI测试执行引擎发送的UI元素定位信息的获取指令,UI元素定位信息的获取指令包括:UI元素的ID以及待测试终端操作系统的类型。

具体地,可以接收UI测试执行引擎发送的UI元素定位信息的获取指令,其中,UI元素定位信息的获取指令包括:UI元素的ID以及待测试终端操作系统的类型,其中,UI元素定位信息的获取指令是指示获取UI元素在待测试终端操作系统的定位信息的指令。

步骤S404、根据UI元素的ID以及待测试终端操作系统的类型,从UI测试树形数据结构中提取UI元素在待测试终端操作系统中的定位信息,并发送给UI测试执行引擎。

具体地,可以根据步骤S403中接收到的UI测试执行引擎发送的UI元素定位信息的获取指令中UI元素的ID以及待测试终端操作系统的类型,从UI测试树形数据结构中提取UI元素在待测试终端操作系统中的定位信息,并发送给UI测试执行引擎。其中,UI测试树形数据结构是存储待测试软件的所有UI元素的信息的树形数据结构。

本实施例提供的软件的UI测试方法,通过接收UI测试执行引擎发送的测试用例的获取指令,根据待测试场景的类型,从测试用例集合中提取待测试场景对应的测试用例并发送给UI测试执行引擎,接收UI测试执行引擎发送的UI元素定位信息的获取指令,根据UI元素的ID以及待测试终端操作系统的类型,从UI测试树形数据结构中提取UI元素在待测试终端操作系统中的定位信息,并发送给UI测试执行引擎,其中,向UI测试执行引擎发送根据UI测试树形数据结构编写的测试用例,并通过UI测试树形数据结构提取UI元素在待测试终端操作系统中的定位信息,实现了同一测试用例可以用于对不同的终端操作系统进行软件的UI测试,提高了软件的UI测试的效率。

在图4所示实施例的基础上,本申请实施例还提供了构建并存储待测试软件的UI测试树形数据结构的过程,具体地,可以构建并存储待测试软件的UI测试树形数据结构,UI测试树形数据结构包括:多个存储UI元素信息的叶子节点以及多个存储UI元素页面信息的非叶子节点,UI元素信息包括:UI元素的ID、UI元素对应的至少一个UI元素页面的ID以及UI元素在各类终端操作系统中的定位信息。

其中,UI元素页面是按照网站或软件的页面进行管理的多级UI元素分类目录,用于对UI元素进行检索分类,方便用户对UI元素进行有效管理。可选的,UI元素页面可以按照用户需求进行自定义,可选的,UI元素页面信息包括但不限于:UI元素页面ID、父级页面ID、UI元素页面名称以及UI元素页面描述信息,其中,UI元素页面ID为UI元素页面的唯一标识符,父级页面ID(ParentId)为UI元素页面的父级页面的唯一标识符,UI元素页面名称可以让用户能快速识别UI元素页面,例如:首页、订单页等UI元素页面名称,页面描述信息为UI元素页面的详细描述。

其中,UI元素为UI页面中需要操作/检查的抽象保存记录,可选的,UI元素信息包括但不限于:UI元素的ID、UI元素所属UI元素页面的ID、UI元素名称、UI元素描述信息以及UI元素在各类终端操作系统中的定位信息,其中,UI元素的ID为UI元素的唯一标识符,UI元素所属UI元素页面的ID(PageId)为UI元素所属UI元素页面的唯一标识符,UI元素名称可以让用户能快速识别UI元素,例如:用户名输入框、登录按钮等UI元素名称,元素描述信息,为UI元素的补充说明,例如:需要输入内容后才能点击等描述。其中,UI元素在各类终端操作系统中的定位信息可以为JSON字符串形式的键值对,可选的,UI元素在各类终端操作系统中的定位信息包括:不同定位方式下UI元素在各类终端操作系统中的定位信息。其中,定位方式包括但不限于:xpath方式、id方式、class方式等方式,例如:在定位信息“iosXpath”:”//XCUIElementTypeButton[.=’登录’]”中,定位方式为xpath方式,在定位信息“resourceId”:“com.xxx.client:id/doLogin”中,定位方式为id方式,其中,提供多种定位方式保存UI元素在各类终端操作系统中的定位信息,可以提高UI元素被查找到的概率,提高了软件的UI测试的效率。

在图4所示实施例的基础上,本申请实施例还提供了编写测试用例集合的过程,具体地,可以根据UI测试树形数据结构,编写并存储待测试软件在各测试场景下的测试用例集合,测试用例中包括:测试操作动作列表以及各测试操作动作对应的UI元素的ID。

其中,测试操作动作列表中各测试操作动作包括:测试操作动作ID、测试操作动作名称、测试操作动作的顺序(Index)、测试操作动作的类型(

Operate)、测试操作动作对应UI元素的UI元素ID(ElementId)以及测试操作动作的关联测试用例的ID(CaseId)。其中,测试操作动作ID为测试操作动作的唯一标识符,测试操作动作名称可以让用户能快速识别测试操作动作。

其中,测试用例包括:测试用例ID、测试用例级别、测试用例名称以及测试用例描述,其中,测试用例ID为测试用例的唯一标识符,测试用例级别用于区别用例的重要性,测试用例名称简要描述用例的测试内容,测试用例描述用于详细描述用例的测试点。

图5为本申请第五实施例提供的软件的UI测试系统的结构示意图。

如图5所示,本实施例的软件的UI测试系统50可以包括:UI测试执行引擎51、至少一个UI测试终端52、以及UI测试平台53。其中,UI测试执行引擎51与UI测试平台53以及至少一个UI测试终端52连接。

图6为本申请第六实施例提供的一种软件的UI测试设备的结构示意图。

如图6所示,本实施例的软件的UI测试设备60包括:处理器61,存储器62,通信接口63。

存储器62用于存储处理器的可执行指令。

其中,处理器61配置为经由执行可执行指令来执行上述方法实施例图1到图2任一项或图3或图4的软件的UI测试方法。

在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory,NVM),例如至少一个磁盘存储器。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

本申请实施例还提供一种可读存储介质,其上存储有计算机程序,其中计算机程序被处理器执行时实现执行上述方法实施例图1到图2任一项或图3或图4的软件的UI测试方法。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

技术分类

06120116523837