发明内容
本说明书一个或多个实施例的目的是提供一种页面元素的定位方法及装置,用以解决现有技术中很难定位页面元素的可操作区块,从而很难实现页面元素的自动化测试的问题。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
一方面,本说明书一个或多个实施例提供一种页面元素的定位方法,包括:
获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素;
获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
将可操作页面元素定位为待定位页面元素的可操作区块。
可选的,根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素包括:
对目标页面进行遍历,以得到目标页面中的页面元素;
将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素包括:
获取目标标识信息以及目标埋点值,并根据目标埋点值在目标页面中获取与目标埋点值对应的页面元素集合;
遍历页面元素集合,以得到页面元素集合中的页面元素;
将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素包括:
获取目标标识信息以及目标Classname,并根据目标Classname在目标页面中获取与目标Classname对应的页面元素集合;
遍历页面元素集合,以得到页面元素集合中的页面元素;
将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,遍历页面元素集合,以得到页面元素集合中的页面元素包括:
对页面元素集合对应的节点的子节点进行遍历,以得到与各子节点对应的页面元素;
将与各子节点对应的页面元素确定为页面元素集合中的页面元素。
可选的,获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素包括:
获取待定位页面元素对应的节点的操作属性信息并根据待定位页面元素对应的节点的操作属性信息判断待定位页面元素是否为可操作页面元素;
若是,则将待定位页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
若否,则以待定位页面元素对应的节点为起始节点向上逐级遍历各节点并确定遍历的各节点对应的页面元素是否为可操作页面元素;
若当前遍历的第一节点对应的页面元素为可操作页面元素,则将第一节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
否则,继续向第一节点的上级节点逐级遍历,直至确定出遍历的第二节点对应的页面元素为可操作页面元素,将第二节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素。
可选的,还包括:
触发可操作区块,以使待定位页面元素执行相应的动作。
可选的,目标标识信息包括:文字信息、链接信息、图片信息、视频信息、音频信息。
另一方面,本说明书一个或多个实施例提供一种页面元素的定位装置,包括:
第一获取模块,用于获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素;
第二获取模块,用于获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
定位模块,用于将可操作页面元素定位为待定位页面元素的可操作区块。
再一方面,本说明书一个或多个实施例提供一种页面元素的定位设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,可执行指令在被执行时使处理器:
获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素;
获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
将可操作页面元素定位为待定位页面元素的可操作区块。
再一方面,本说明书一个或多个实施例提供一种存储介质,用于存储计算机可执行指令,可执行指令在被执行时实现以下流程:
获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素;
获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
将可操作页面元素定位为待定位页面元素的可操作区块。
采用本说明书一个或多个实施例的技术方案,根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素,并获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素,以及将可操作页面元素定位为待定位页面元素的可操作区块。一方面,根据目标标识信息获取与目标标识信息对应的待定位页面元素,并将与待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素确定为待定位页面元素的可操作区块,提供了一种自动定位待定位页面元素的可操作区块的方式,步骤简单且易于执行,从而实现了待定位页面元素的自动化测试,降低了测试成本、提高了测试效率;另一方面,由于仅仅根据目标标识信即可定位目标标识信息对应的待定位页面元素的可操作区块,即仅需用户输入目标标识信息,即可自动定位目标标识信息对应的待定位页面元素的可操作区块,用户的操作简单,且学习成本低,即使在待定位页面元素发生变化后,用户仅需根据变化后的待定位页面元素对应的目标标识信息,对变化后的待定位页面元素的可操作区块进行重新定位,换言之,后期维护过程简单且维护成本低。
具体实施方式
本说明书一个或多个实施例提供一种页面元素的定位方法及装置,用以解决现有技术中很难定位页面元素的可操作区块,从而很难实现页面元素的自动化测试的问题。
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书一个或多个实施例保护的范围。
图1为本说明书一个或多个实施例提供的页面元素的定位方法的流程示意图,图1中的方法的执行主体例如可以为终端设备或服务器,其中,终端设备例如可以为个人计算机等,服务器例如可以为独立的一个服务器,也可以是由多个服务器组成的服务器集群,本示例性实施例对此不做特殊限定。如图1所示,该方法可以包括步骤S102、步骤S104以及步骤S106,其中:
步骤S102,获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素。
在本申请实施例中,目标标识信息为待定位页面元素的标识信息。目标标识信息可以为待定位页面元素的内容。具体的,目标标识信息可以包括但不限于文字信息、链接信息、图片信息、视频信息、音频信息等,本示例性实施例对此不做特殊限定。待定位页面元素可以为文字类型的页面元素、图片类型的页面元素、链接类型的页面元素、视频类型的页面元素、音频类型的页面元素等,本示例性实施例对此不做特殊限定。例如,若待定位页面元素的类型为文字类型的页面元素,且其内容为“首页”,则目标标识信息为文字信息,且目标标识信息的内容为“首页”;若待定位页面元素为链接类型的页面元素且其内容为www.*********.com,则目标标识信息为链接信息,且目标标识信息的内容为“www.*********.com”;若待定位页面元素为图片类型的页面元素且其内容为一图片,则目标标识信息为图片信息且目标标识信息的内容为该图片。
根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素可以包括:对目标页面进行遍历,以得到目标页面中的页面元素;将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
在本申请实施例中,每个页面元素均具有标识信息,标识信息可以为页面元素的内容。具体的,标识信息可以包括但不限于文字信息、链接信息、图片信息、视频信息、音频信息等,本示例性实施例对此不做特殊限定。页面元素可以为文字类型的页面元素、图片类型的页面元素、链接类型的页面元素、视频类型的页面元素、音频类型的页面元素等,本示例性实施例对此不做特殊限定。
为了提高获取目标标识信息对应的待定位页面元素的效率,可以通过以下两种方式获取目标标识信息对应的待定位页面元素,其中:
方式一、如图2所示,包括以下步骤:
步骤S202,获取目标标识信息以及目标埋点值,并根据目标埋点值在目标页面中获取与目标埋点值对应的页面元素集合。
在本申请实施例中,在页面中,一个或者多个页面元素可以组成一个页面元素集合,一个或多个页面元素集合组成页面,且每个页面元素集合均具有一个唯一的埋点值。例如,图3为本说明书一个或多个实施例提供的页面元素集合的示意图,在图3中包括3个页面元素集合,分别为第一页面元素集合301、第二页面元素集合302、第三页面元素集合303,其中,第一页面元素集合301包括4个页面元素,分别为“首页”、“支”、“支”外面的圆圈以及背景;第二页面元素集合302包括4个页面元素,分别为“财富”、“¥”、“¥”外面的圆圈以及背景;第三页面元素集合303包括4个页面元素,分别为“用户”、人形图片、人形图片外面的圆圈以及背景。
基于此,可以根据待定位页面元素所属的页面元素集合的埋点值(即目标埋点值)获取待定位页面元素,以缩小获取范围,提高获取效率。需要说明的是,该步骤中的目标埋点值为待定位页面元素所属的页面元素集合的埋点值。具体的获取过程可以包括:获取目标页面中的所有页面元素集合的埋点值,将各页面元素集合的埋点值与目标埋点值进行匹配,将埋点值与目标埋点值匹配的页面元素集合确定为与目标埋点值对应的页面元素集合。为了进一步的提高获取效率,获取过程可以包括:获取目标页面中的一个页面元素集合的埋点值,并判断该页面元素集合的埋点值是否与目标埋点值相同,若相同,则将该页面元素集合确定为与目标埋点值对应的页面元素集合,并停止获取目标页面中的其他页面元素集合的埋点值,若不相同,则依次获取目标页面元素中的另一页面元素集合的埋点值,并与目标埋点值进行比对,直至确定出与目标埋点值对应的页面元素集合。
步骤S204,遍历页面元素集合,以得到页面元素集合中的页面元素。
在本申请实施例中,可以对与目标埋点值对应的页面元素集合对应的节点的子节点进行遍历,以得到与各子节点对应的页面元素,并将与各子节点对应的页面元素确定为页面元素集合中的页面元素。
步骤S206,将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。在本申请实施例中,将页面元素集合中的各页面元素的标识信息分别与目标标识信息进行匹配,即分别判断各页面元素的标识信息与目标标识信息是否相同,并将标识信息与目标标识信息相同的页面元素确定为待定位页面元素。
方式二、如图4所示,包括以下步骤:
步骤S402,获取目标标识信息以及目标Classname,并根据目标Classname在目标页面中获取与目标Classname对应的页面元素集合。
在本申请实施例中,在页面中,一个或者多个页面元素可以组成一个页面元素集合,一个或多个页面元素集合组成页面,且每个页面元素集合均具有一个唯一的Classname(页面元素集合的类名)。基于此,可以根据待定位页面元素所属的页面元素集合的Classname(即目标Classname)获取待定位页面元素,以缩小获取范围,提高获取效率。需要说明的是,该步骤中的目标Classname为待定位页面元素所属的页面元素集合的Classname。具体的,获取过程可以包括:获取目标页面中的所有页面元素集合的Classname,将各页面元素集合的Classname与目标Classname进行匹配,将Classname与目标Classname匹配的页面元素集合确定为与目标Classname对应的页面元素集合。为了进一步的提高获取效率,获取过程可以包括:获取目标页面中的一个页面元素集合的Classname,并判断该页面元素集合的Classname是否与目标Classname相同,若相同,则将该页面元素集合确定为与目标Classname对应的页面元素集合,并停止获取目标页面中的其他页面元素集合的Classname,若不相同,则依次获取目标页面元素中的另一页面元素集合的Classname,并与目标Classname进行比对,直至确定出与目标Classname对应的页面元素集合。
步骤S404,遍历页面元素集合,以得到页面元素集合中的页面元素。
在本申请实施例中,可以对与目标Classname对应的页面元素集合对应的节点的子节点进行遍历,以得到与各子节点对应的页面元素,并将与各子节点对应的页面元素确定为页面元素集合中的页面元素。
步骤S406,将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。由于步骤S406与步骤S206的实现原理相同,因此此处不在赘述。
由上可知,在上述两种方式中,由于通过目标埋点值获取与目标埋点值对应的页面元素集合,并在页面元素集合中获取待定位页面元素,或者通过目标Classname获取与目标Classname对应的页面元素集合,并在页面元素集合中获取待定位页面元素,而不是在整个目标页面中进行遍历获取待定位页面元素,大大的缩小了获取范围,提高获取效率。
步骤S104,获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素。
在本申请实施例中,可操作页面元素的级别指可操作页面元素对应的节点的级别,待定位页面元素的级别指待定位页面元素对应的节点的级别。基于此,距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素可能为该待定位页面元素,也可能为该待定位页面元素的节点的父节点对应的页面元素,还可能为该待定位页面元素的节点的父节点的父节点对应的页面元素等级别不低于待定位页面元素的页面元素,具体的要根据页面元素对应的节点的操作属性信息以及距离待定位页面元素的距离进行确定。
图5为本说明书一个或多个实施例提供的获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素的流程示意图,如图5中,包括以下步骤:
步骤S502、获取待定位页面元素对应的节点的操作属性信息并根据待定位页面元素对应的节点的操作属性信息判断待定位页面元素是否为可操作页面元素。
在本申请实施例中,由于页面中的每个页面元素对应的节点均包括操作属性信息,其中操作属性可以包括可操作和不可操作两种类型,该操作属性信息用于表示其对应的节点对应的页面元素是否为可操作的。基于此,获取待定位页面元素对应的节点的操作属性信息,并判断该操作属性信息中的操作属性的类型,若操作属性的类型为可操作,则说明该待定位页面元素为可操作页面元素,若操作属性的类型为不可操作,则说明该待定位页面元素不是可操作页面元素。
步骤S504、若是,则将待定位页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素。在本申请实施例中,若待定位页面元素为可操作页面元素,则该待定位页面元素本身即为其可操作页面元素。
步骤S506、若否,则以待定位页面元素对应的节点为起始节点向上逐级遍历各节点并确定遍历的各节点对应的页面元素是否为可操作页面元素。
步骤S508、若当前遍历的第一节点对应的页面元素为可操作页面元素,则将第一节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素。
步骤S510、否则,继续向第一节点的上级节点逐级遍历,直至确定出遍历的第二节点对应的页面元素为可操作页面元素,将第二节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素。
下面举例对上述图5中的步骤进行说明。
首先,获取待定位页面元素对应的节点的操作属性信息,若待定位页面元素对应的节点的操作属性信息中的操作属性的类型为可操作,则该待定位页面元素为可操作页面元素,并将该待定位页面元素本身确定为待定位页面元素的可操作页面元素,即该待定位页面元素本身为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;若待定位页面元素对应的节点的操作属性信息中的操作属性的类型为不可操作,则遍历待定位页面元素对应的节点的父节点的操作属性信息,若该父节点的操作属性信息中的操作属性的类型为可操作,则该父节点对应的页面元素为可操作页面元素,并将该父节点对应的页面元素确定为待定位页面元素的可操作页面元素,即该父节点对应的页面元素为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;若该父节点的操作属性信息中的操作属性的类型为不可操作,则遍历该父节点的父节点的操作属性信息,即遍历待定位页面元素对应的节点的父节点的父节点的操作属性信息,若该父节点的父节点的操作属性信息中的操作属性的类型为可操作,则该父节点的父节点对应的页面元素为可操作页面元素,并该父节点的父节点对应的页面元素确定为待定位页面元素的可操作页面元素,即该父节点的父节点对应的页面元素为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;若该父节点的父节点的操作属性信息中的操作属性的类型为不可操作,则遍历该父节点的父节点的父节点的操作属性信息,并重复上述过程直至确定待定位页面元素的可操作页面元素。
步骤S106,将可操作页面元素定位为待定位页面元素的可操作区块。
进一步的,触发可操作区块,以使待定位页面元素执行相应的动作。
在本申请实施例中,触发可操作区块的操作可以为点击、双击、长按等,本示例性实施例对此不做特殊限定。可操作区块中可以限定操作的内容,例如,触发可操作区块实现页面跳转、触发可操作区块保存页面中的内容等,本示例性实施例对此不做特殊限定。在触发可操作区块后,待定位页面元素执行可操作区块中限定的操作内容,并根据待定位页面元素执行可操作区块中限定的操作内容所得到的结果来对待定位页面元素进行测试以及判断待定位页面元素的功能是否正常。若待定位页面元素执行页面跳转步骤后,若页面没有跳转或跳转到错误的页面,则说明该待定位页面元素的功能不正常,若页面跳转且跳转到正确的页面,则说明该待定位页面元素的功能正常。
综上所述,根据目标标识信息获取与目标标识信息对应的待定位页面元素,并将与待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素确定为待定位页面元素的可操作区块,提供了一种自动定位待定位页面元素的可操作区块的方式,步骤简单且易于执行,从而实现了待定位页面元素的自动化测试,降低了测试成本、提高了测试效率;此外,由于仅仅根据目标标识信即可定位目标标识信息对应的待定位页面元素的可操作区块,即仅需用户输入目标标识信息,即可自动定位目标标识信息对应的待定位页面元素的可操作区块,用户的操作简单,且学习成本低,即使在待定位页面元素发生变化后,用户仅需根据变化后的待定位页面元素对应的目标标识信息,对变化后的待定位页面元素的可操作区块进行重新定位,换言之,后期维护过程简单且维护成本低。
对应上述页面元素的定位方法,基于相同的思路,本申请实施例还提供了一种页面元素的定位装置,图6为本说明书一个或多个实施例提供的页面元素的定位装置的结构框图,如图6所示,页面元素的定位装置600可以包括第一获取模块601、第二获取模块602、定位模块603,其中:
第一获取模块601,用于获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素;
第二获取模块602,用于获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
定位模块603,用于将可操作页面元素定位为待定位页面元素的可操作区块。
可选的,第一获取模块601,具体用于对目标页面进行遍历,以得到目标页面中的页面元素;将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,第一获取模块601可以包括:
获取单元,用于获取目标标识信息以及目标埋点值,并根据目标埋点值在目标页面中获取与目标埋点值对应的页面元素集合;
遍历单元,用于遍历页面元素集合,以得到页面元素集合中的页面元素;
确定单元,用于将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,第一获取模块601可以包括:
获取单元,用于获取目标标识信息以及目标Classname,并根据目标Classname在目标页面中获取与目标Classname对应的页面元素集合;
遍历单元,用于遍历页面元素集合,以得到页面元素集合中的页面元素;
确定单元,用于将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,遍历单元,具体用于对页面元素集合对应的节点的子节点进行遍历,以得到与各子节点对应的页面元素;将与各子节点对应的页面元素确定为页面元素集合中的页面元素。
可选的,第二获取模块602可以包括:
获取单元,用于获取待定位页面元素对应的节点的操作属性信息并根据待定位页面元素对应的节点的操作属性信息判断待定位页面元素是否为可操作页面元素;
第一确定单元,用于若是,则将待定位页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
第一遍历单元,用于若否,则以待定位页面元素对应的节点为起始节点向上逐级遍历各节点并确定遍历的各节点对应的页面元素是否为可操作页面元素;
第二确定单元,用于若当前遍历的第一节点对应的页面元素为可操作页面元素,则将第一节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
第二遍历单元,用于否则,继续向第一节点的上级节点逐级遍历,直至确定出遍历的第二节点对应的页面元素为可操作页面元素,将第二节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素。
可选的,还可以包括:执行模块,用于触发可操作区块,以使待定位页面元素执行相应的动作。
可选的,目标标识信息包括:文字信息、链接信息、图片信息、视频信息、音频信息。
本申请实施例提供的页面元素的定位装置,根据目标标识信息获取与目标标识信息对应的待定位页面元素,并将与待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素确定为待定位页面元素的可操作区块,提供了一种自动定位待定位页面元素的可操作区块的方式,步骤简单且易于执行,从而实现了待定位页面元素的自动化测试,降低了测试成本、提高了测试效率;此外,由于仅仅根据目标标识信即可定位目标标识信息对应的待定位页面元素的可操作区块,即仅需用户输入目标标识信息,即可自动定位目标标识信息对应的待定位页面元素的可操作区块,用户的操作简单,且学习成本低,即使在待定位页面元素发生变化后,用户仅需根据变化后的待定位页面元素对应的目标标识信息,对变化后的待定位页面元素的可操作区块进行重新定位,换言之,后期维护过程简单且维护成本低。
进一步地,基于上述图1所示的方法,本申请实施例还提供了一种页面元素的定位设备,如图7所示。
页面元素的定位设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对页面元素的定位设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在页面元素的定位设备上执行存储器702中的一系列计算机可执行指令。页面元素的定位设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。
在一个具体的实施例中,页面元素的定位设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对页面元素的定位设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素;
获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
将可操作页面元素定位为待定位页面元素的可操作区块。
可选的,计算机可执行指令在被执行时,根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素包括:
对目标页面进行遍历,以得到目标页面中的页面元素;
将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,计算机可执行指令在被执行时,获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素包括:
获取目标标识信息以及目标埋点值,并根据目标埋点值在目标页面中获取与目标埋点值对应的页面元素集合;
遍历页面元素集合,以得到页面元素集合中的页面元素;
将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,计算机可执行指令在被执行时,获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素包括:
获取目标标识信息以及目标Classname,并根据目标Classname在目标页面中获取与目标Classname对应的页面元素集合;
遍历页面元素集合,以得到页面元素集合中的页面元素;
将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,计算机可执行指令在被执行时,遍历页面元素集合,以得到页面元素集合中的页面元素包括:
对页面元素集合对应的节点的子节点进行遍历,以得到与各子节点对应的页面元素;
将与各子节点对应的页面元素确定为页面元素集合中的页面元素。
可选的,计算机可执行指令在被执行时,获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素包括:
获取待定位页面元素对应的节点的操作属性信息并根据待定位页面元素对应的节点的操作属性信息判断待定位页面元素是否为可操作页面元素;
若是,则将待定位页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
若否,则以待定位页面元素对应的节点为起始节点向上逐级遍历各节点并确定遍历的各节点对应的页面元素是否为可操作页面元素;
若当前遍历的第一节点对应的页面元素为可操作页面元素,则将第一节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
否则,继续向第一节点的上级节点逐级遍历,直至确定出遍历的第二节点对应的页面元素为可操作页面元素,将第二节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素。
可选的,计算机可执行指令在被执行时,还包括:触发可操作区块,以使待定位页面元素执行相应的动作。
可选的,目标标识信息包括:文字信息、链接信息、图片信息、视频信息、音频信息。
本申请实施例提供的页面元素的定位设备,根据目标标识信息获取与目标标识信息对应的待定位页面元素,并将与待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素确定为待定位页面元素的可操作区块,提供了一种自动定位待定位页面元素的可操作区块的方式,步骤简单且易于执行,从而实现了待定位页面元素的自动化测试,降低了测试成本、提高了测试效率;此外,由于仅仅根据目标标识信即可定位目标标识信息对应的待定位页面元素的可操作区块,即仅需用户输入目标标识信息,即可自动定位目标标识信息对应的待定位页面元素的可操作区块,用户的操作简单,且学习成本低,即使在待定位页面元素发生变化后,用户仅需根据变化后的待定位页面元素对应的目标标识信息,对变化后的待定位页面元素的可操作区块进行重新定位,换言之,后期维护过程简单且维护成本低。
进一步的,本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素;
获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
将可操作页面元素定位为待定位页面元素的可操作区块。
可选的,该存储介质存储的计算机可执行指令在被处理器执行时,根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素包括:
对目标页面进行遍历,以得到目标页面中的页面元素;
将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,该存储介质存储的计算机可执行指令在被处理器执行时,获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素包括:
获取目标标识信息以及目标埋点值,并根据目标埋点值在目标页面中获取与目标埋点值对应的页面元素集合;
遍历页面元素集合,以得到页面元素集合中的页面元素;
将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,该存储介质存储的计算机可执行指令在被处理器执行时,获取目标标识信息,并根据目标标识信息在目标页面中获取与目标标识信息对应的待定位页面元素包括:
获取目标标识信息以及目标Classname,并根据目标Classname在目标页面中获取与目标Classname对应的页面元素集合;
遍历页面元素集合,以得到页面元素集合中的页面元素;
将各页面元素的标识信息与目标标识信息进行匹配,并将标识信息与目标标识信息匹配的页面元素确定为待定位页面元素。
可选的,该存储介质存储的计算机可执行指令在被处理器执行时,遍历页面元素集合,以得到页面元素集合中的页面元素包括:
对页面元素集合对应的节点的子节点进行遍历,以得到与各子节点对应的页面元素;
将与各子节点对应的页面元素确定为页面元素集合中的页面元素。
可选的,该存储介质存储的计算机可执行指令在被处理器执行时,获取距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素包括:
获取待定位页面元素对应的节点的操作属性信息并根据待定位页面元素对应的节点的操作属性信息判断待定位页面元素是否为可操作页面元素;
若是,则将待定位页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
若否,则以待定位页面元素对应的节点为起始节点向上逐级遍历各节点并确定遍历的各节点对应的页面元素是否为可操作页面元素;
若当前遍历的第一节点对应的页面元素为可操作页面元素,则将第一节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素;
否则,继续向第一节点的上级节点逐级遍历,直至确定出遍历的第二节点对应的页面元素为可操作页面元素,将第二节点对应的页面元素确定为距待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素。
可选的,该存储介质存储的计算机可执行指令在被处理器执行时,还包括:触发可操作区块,以使待定位页面元素执行相应的动作。
可选的,目标标识信息包括:文字信息、链接信息、图片信息、视频信息、音频信息。
本申请实施例中的存储介质存储的计算机可执行指令在被处理器执行时,根据目标标识信息获取与目标标识信息对应的待定位页面元素,并将与待定位页面元素最近且级别不低于待定位页面元素的可操作页面元素确定为待定位页面元素的可操作区块,提供了一种自动定位待定位页面元素的可操作区块的方式,步骤简单且易于执行,从而实现了待定位页面元素的自动化测试,降低了测试成本、提高了测试效率;此外,由于仅仅根据目标标识信即可定位目标标识信息对应的待定位页面元素的可操作区块,即仅需用户输入目标标识信息,即可自动定位目标标识信息对应的待定位页面元素的可操作区块,用户的操作简单,且学习成本低,即使在待定位页面元素发生变化后,用户仅需根据变化后的待定位页面元素对应的目标标识信息,对变化后的待定位页面元素的可操作区块进行重新定位,换言之,后期维护过程简单且维护成本低。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本说明书一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的权利要求范围之内。