CN115687095A - 页面测试方法、装置、设备及计算机可读存储介质 - Google Patents
页面测试方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115687095A CN115687095A CN202211255103.3A CN202211255103A CN115687095A CN 115687095 A CN115687095 A CN 115687095A CN 202211255103 A CN202211255103 A CN 202211255103A CN 115687095 A CN115687095 A CN 115687095A
- Authority
- CN
- China
- Prior art keywords
- page
- elements
- node
- information
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本申请公开了一种页面测试方法、装置、设备及计算机可读存储介质,该方法可包括:获取页面中元素的标识信息与特征信息的对应关系;元素的特征信息包括元素在页面中的坐标信息;运行页面的测试脚本,根据对应关系,确定元素在页面中的坐标信息;测试脚本是基于元素的标识信息生成的;根据元素在页面中的坐标信息,对元素进行测试,并输出测试结果。采用本申请,可通过页面中元素的坐标信息对元素进行定位,进而对元素进行测试,有利于提高页面测试的稳定性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及页面测试方法、页面测试装置、计算机设备及计算机可读存储介质。
背景技术
随着互联网技术的不断发展,软件产品更新迭代的速度也越来越快,为保证软件产品的功能准确性,软件测试是开发过程中必不可少的环节。其中,网页(web page,web)自动化测试是重要的软件测试技术之一,目前,web自动化测试通常是在前端页面开发完成后,通过页面中元素的属性信息定位元素,然后进行自动化测试操作,元素的属性信息例如可以是可扩展标记语言(extensible markup language,XML)路径语言(xpath)、层叠样式表(cascading style sheets,CSS)、类(class)等。然而,当页面元素的属性信息发生改变时,可能导致自动化测试脚本失效,无法对页面元素进行测试。
发明内容
本申请实施例提供一种页面测试方法、装置、设备及计算机可读存储介质,通过页面中元素的坐标信息对元素进行定位,进而对元素进行测试,有利于提高页面测试的稳定性。
第一方面,本申请实施例提供一种页面测试方法,该方法包括:获取页面中元素的标识信息与特征信息的对应关系;元素的特征信息包括元素在页面中的坐标信息;运行页面的测试脚本,根据对应关系,确定元素在页面中的坐标信息;测试脚本是基于元素的标识信息生成的;根据元素在页面中的坐标信息,对元素进行测试,并输出测试结果。
可见,在该技术方案中,通过页面中元素的坐标信息定位元素,进而对元素进行测试,有利于提高页面测试的稳定性。
在一种实现方式中,获取页面中元素的标识信息与特征信息的对应关系,包括:对页面进行解析,构建页面对应的树形结构;树形结构中的节点与页面中的元素对应;获取树形结构中节点的标识信息与特征信息;树形结构中节点的特征信息包括节点在页面中的坐标信息;根据树形结构中节点的标识信息与特征信息,构建页面中对应的元素的标识信息与特征信息的对应关系。
可见,在该技术方案中,通过构建页面中元素的标识信息与特征信息的对应关系,有利于更加便捷地维护元素的标识信息和特征信息。
在一种实现方式中,树形结构中节点的特征信息还包括节点的节点标签、节点序号以及节点内容;元素的特征信息还包括节点的节点标签、节点序号以及节点内容。
在一种实现方式中,页面包括第一页面和第二页面;第二页面为第一页面更新后的页面;该方法还包括:将第一页面中的元素与第二页面中的元素进行对比,确定第一页面中的失效元素以及第二页面中的新增元素;将失效元素与新增元素进行匹配,确定失效元素与新增元素中相匹配的目标元素;根据目标元素在第一页面中的标识信息,更新目标元素在第二页面中的标识信息。
可见,在该技术方案中,通过对比第一页面中的元素与第二页面中的元素,更新第二页面中的元素的标识信息,有利于降低页面的维护成本。
在一种实现方式中,将第一页面中的元素与第二页面中的元素进行对比,确定第一页面中的失效元素以及第二页面中的新增元素,包括:根据第一预设规则,将第一页面中的元素与第二页面中的元素进行对比,确定第一页面与第二页面中对应的相似元素和第一相同元素,以及第一页面中除相似元素和第一相同元素以外的第一失效元素,第二页面中除相似元素和第一相同元素以外的第一新增元素;根据第二预设规则,从相似元素中确定第一页面中的第二失效元素,以及第二页面中的第二新增元素;其中,第一页面中的失效元素包括第一失效元素和第二失效元素,第二页面中的新增元素包括第一新增元素和第二新增元素。
在一种实现方式中,根据第一预设规则,确定第一页面与第二页面中对应的相似元素和第一相同元素,包括:将第一页面与第二页面中坐标信息、节点标签以及节点内容均相同,且节点序号不同的元素,确定为第一页面与第二页面中对应的相似元素;将第一页面与第二页面中坐标信息、节点标签、节点序号以及节点内容都相同的元素,确定为第一页面与第二页面中对应的第一相同元素。
在一种实现方式中,根据第二预设规则,从相似元素中确定第一页面中的第二失效元素,以及第二页面中的第二新增元素,包括:将第一页面中相似元素的节点序号,确定为第二页面中对应的相似元素的原始序号;根据相似元素在第二页面中所属层级,以及相似元素在层级中的排列顺序,确定第一页面与第二页面中对应的第二相同元素;将第二页面中第二相同元素的原始序号,与第二页面中与第二相同元素属于同一层级的相似元素的原始序号进行对比,确定第二页面中的第二新增元素;将第一页面中节点序号与第二新增元素的原始序号相同的相似元素,确定为第一页面中的第二失效元素。
第二方面,本申请实施例提供了一种页面测试装置,该装置包括:获取单元,用于获取页面中元素的标识信息与特征信息的对应关系;元素的特征信息包括元素在页面中的坐标信息;处理单元,用于运行页面的测试脚本,根据对应关系,确定元素在页面中的坐标信息;测试脚本是基于元素的标识信息生成的;根据元素在页面中的坐标信息,对元素进行测试,并输出测试结果。
第三方面,本申请实施例提供了一种计算机设备,包括:处理器、通信接口和存储器,上述处理器、上述通信接口和上述存储器相互连接,其中,上述存储器存储有可执行程序代码,上述处理器用于调用可执行程序代码,实现如第一方面的及其任一种可能的实现方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机读存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现如第一方面的及其任一种可能的实现方式中的方法。
第五方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现如第一方面的及其任一种可能的实现方式中的方法。
第六方面,本申请实施例提供了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行如第一方面的及其任一种可能的实现方式中的方法。
在本申请实施例中,通过获取页面中元素的标识信息与特征信息的对应关系,有利于更加便捷地维护页面中元素的标识信息以及特征信息。进一步的,运行页面的测试脚本时,可根据元素的标识信息从页面中元素的标识信息与特征信息的对应关系中,确定出元素的特征信息,进而根据特征信息中包括的坐标信息实现对元素的定位,以便于对元素进行测试,相较于使用元素的属性信息(如xpath、css、class等)进行元素定位,有利于提高页面测试的稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种页面测试方法的实施环境示意图;
图2是本申请实施例提供的一种页面测试方法的流程示意图;
图3是本申请实施例提供的一种基于HTML文档生成DOM树的示意图;
图4是本申请实施例提供的另一种页面测试方法的流程示意图;
图5是本申请实施例提供的一种第一页面和第二页面中元素表示的示意图;
图6是本申请实施例提供的另一种第一页面和第二页面中元素表示的示意图;
图7是本申请实施例提供的一种页面测试装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,为本申请实施例提供的一种页面测试方法的实施环境示意图。如图1所示,该实施环境中可包括页面测试设备102和数据库104,数据库104中可存储有页面中元素的标识信息与特征信息的对应关系。其中,页面测试设备102可以是服务器或者终端设备。
本申请实施例所涉及的终端设备可以是个人计算机、笔记本电脑、智能手机、平板电脑、智能手表、智能语音交互设备、智能家电、车载终端和智能可穿戴设备等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储等基础云计算服务的云服务器。数据库可以是本地数据库或者服务器可以访问的云端数据库,终端设备与服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
请参见图2,为本申请提供的一种页面测试方法的流程示意图,该方法可以应用于图1所示的实施环境中,由页面测试设备102执行,如图2所示,该方法包括但不限于以下步骤:
S201,获取页面中元素的标识信息与特征信息的对应关系。
页面是指当前待进行测试的页面,例如可以是基于超文本标记语言(hyper textmarkup language,HTML)编写的网页。在本申请实施例中,页面中可包括一个或多个元素,页面中元素的标识信息与特征信息的对应关系可以是以表格的形式呈现,在其他实现方式中,元素的对应关系也可以通过其他形式呈现。其中,元素的特征信息可包括元素在页面中的坐标信息。
在一实施例中,获取页面中元素的标识信息与特征信息的对应关系的具体方式可以是,先对页面进行解析,构建页面对应的树形结构,该树形结构中的节点与页面中的元素对应;然后获取树形结构中节点的标识信息与特征信息,该树形结构中节点的特征信息包括节点在页面中的坐标信息;最后根据树形结构中节点的标识信息与特征信息,构建页面中对应的元素的标识信息与特征信息的对应关系。其中,页面对应的树形结构例如可以是页面的文档对象模型(document object model,DOM)树。DOM树可以是基于页面对应的HTML文档生成的,DOM树可以用层次化的节点表示页面对应的HTML文档的结构,HTML文档中的元素(也即页面中的元素)可视为是DOM树中的节点。也就是说,页面对应的树形结构可以用于表示页面中元素的层级关系。
示例的,图3为本申请实施例提供的一种基于HTML文档生成DOM树的示意图,如图3所示,DOM树中的节点与HTML文档中的内容对应,例如,DOM树中的根节点3021对应HTML文档中的<html>,3021的子节点分别为3022和3023,3022对应HTML文档中的<body>none</body>,3023对应HTML文档中的<body>class="data",3023的子节点分别为3024和3025,3024对应HTML文档中的<p>text1,3025对应HTML文档中的<div>text2</div>。以此表示HTML文档的层级结构。
对于页面对应的树形结构中的每个节点,可以生成唯一标识该节点的标识信息,也就是元素的标识信息。可选的,标识信息可以是通用唯一识别码(universally uniqueidentifier,UUID)。每个节点的特征信息可包括节点的坐标信息,节点的坐标信息是指用于表示该节点在页面中的实际位置的坐标,以便于根据节点的坐标信息能够定位节点在页面中的位置,节点的坐标信息例如可通过执行JS(javascript,一种脚本语言)语句获取。
在一实施例中,获取到页面中元素的标识信息与特征信息的对应关系后,该对应关系可以是以表格的形式存储在数据库中,也可以存储在云存储器中,还可以是其他指定位置,本申请对此不作限制。
S202,运行页面的测试脚本,根据对应关系,确定元素在页面中的坐标信息。
其中,测试脚本可以是基于元素的标识信息生成的。页面中元素的标识信息可将页面中不同的元素进行区分,对于不同的元素,测试脚本中可以对应有不同的测试指令。例如,对于页面中的文本框输入元素,测试脚本中可包括文本框输入测试指令;对于页面中的按钮元素,测试脚本中可包括按钮点击测试指令;对于页面中的列表框元素,测试脚本中可包括下拉列表选择测试指令。
进一步的,运行页面的测试脚本时,根据测试脚本中元素的标识信息,便可从对应关系中确定每个元素的标识信息对应的特征信息,进而确定每个元素的坐标信息。
S203,根据元素在页面中的坐标信息,对元素进行测试,并输出测试结果。
具体的,在页面的测试脚本运行过程中,可以根据元素在页面中的坐标信息对元素进行定位。进而,根据页面中元素的定位,对元素进行测试,得到并输出测试结果。
其中,在对元素进行测试之前,可先启动浏览器,启动浏览器后,通过浏览器显示页面,然后根据测试脚本中的测试指令,控制浏览器与服务器进行交互,以完成对元素的测试。
在本申请实施例中,通过获取页面中元素的标识信息与特征信息的对应关系,有利于更加便捷地维护页面中元素的标识信息以及特征信息。进一步的,运行页面的测试脚本时,可根据元素的标识信息从页面中元素的标识信息与特征信息的对应关系中,确定出元素的特征信息,进而根据特征信息中包括的坐标信息实现对元素的定位,以便于对元素进行测试,相较于使用元素的属性信息(如xpath、css、class等)进行元素定位,有利于提高页面测试的稳定性。
在一实施例中,页面中元素的布局可能发生改变,例如开发人员根据实际需求更改元素的布局,基于此,本申请提供了另一种页面测试方法,请参见图4,为本申请提供的另一种页面测试方法的流程示意图,该方法可以包括但不限于以下步骤:
S401,将第一页面中的元素与第二页面中的元素进行对比,确定第一页面中的失效元素以及第二页面中的新增元素。
其中,第二页面为第一页面更新后的页面,即第二页面为第一页面更改元素布局后的页面。
在一实施例中,将第一页面中的元素与第二页面中的元素进行对比之前,可以通过第一页面中元素的特征信息表示第一页面中的元素,通过第二页面中元素的特征信息表示第二页面中的元素。其中,元素的特征信息可包括元素在页面中的坐标信息、页面的树形结构中节点的节点标签、节点序号以及节点内容。以页面的树形结构为DOM树为例,节点的节点标签可以是指DOM树中该节点对应HTML文档中的节点标签,节点的节点序号是指该节点在DOM树中属于同一层级的节点中的序号,节点的节点内容可以是指该DOM树中节点对应HTML文档中的内容。示例的,如图3所示,图3中3021的节点标签为<html>,节点序号为1,节点内容为空(即没有节点内容);3022的节点标签为<html>/<body>,节点序号为1,节点内容为none;3023的节点标签为<html>/<body>,节点序号为2,节点内容为class="data";3024的节点标签为<html>/<body>/<p>,节点序号为1,节点内容为text1;节点3025的节点标签为<html>/<body>/<div>,节点序号为1,节点内容为text2。
可选的,元素可以通过如下格式表示:<节点标签>(节点序号)节点内容;值得注意的是,由于页面的树形结构中可包括多个层级的节点,对于非第一层级的节点,其格式需要加上该节点所属节点的节点标签和节点序号。示例的,如图3所示,3021为第一层级的节点,可表示为<html>(1),3022为第二层级的节点,其格式需要加上3022所属第一层级的节点(即3021)的节点标签和节点序号,可以表示为<html>(1)/<body>(1)none,同理地,3023可以表示为<html>(1)/<body>(2)class="data",3024为第三层级的节点,其格式需要加上3024所属第二层级的节点(即3023)的节点标签和节点序号,以及3023所属第一层级的节点(即3021)的节点标签和节点序号,可以表示为<html>(1)/<body>(2)/<p>(1)text1,同理地,3025可以表示为<html>(1)/<body>(2)/<div>(1)text2。
在一实施例中,通过第一页面中元素的特征信息表示第一页面中的元素,通过第二页面中元素的特征信息表示第二页面中的元素后,可以根据第一预设规则,将第一页面中的元素与第二页面中的元素进行对比,确定第一页面与第二页面中对应的相似元素和第一相同元素,以及第一页面中除相似元素和第一相同元素以外的第一失效元素,第二页面中除相似元素和第一相同元素以外的第一新增元素。其中,第一预设规则可以包括:①将第一页面与第二页面中坐标信息、节点标签以及节点内容均相同,且节点序号不同的元素,确定为第一页面与第二页面中对应的相似元素;②将第一页面与第二页面中坐标信息、节点标签、节点序号以及节点内容都相同的元素,确定为第一页面与第二页面中对应的第一相同元素。
示例的,如图5所示,第一页面中的5011可表示为<html>(1)/<body>(1)/<p>(1)style1,第二页面中的5012可表示为<html>(1)/<body>(1)/<p>(1)style1,5011与5012的节点信息相同,假设5011与5012在页面中的坐标信息也相同,那么5011与5012可确定为对应的第一相同元素;第一页面中的5021可表示为<html>(1)/<body>(2)/<div text2>(2),第二页面中的5022可表示为<html>(1)/<body>(3)/<div text2>(3),5021与5022的节点标签和节点内容相同,节点序号不同,假设5021与5022在页面中的坐标信息也相同,那么5021与5022可确定为对应的相似元素。
进一步的,根据第二预设规则,可以从相似元素中确定第一页面中的第二失效元素,以及第二页面中的第二新增元素。第二预设规则可以包括:①将第一页面中相似元素的节点序号,确定为第二页面中对应的相似元素的原始序号;②根据相似元素在第二页面中所属层级,以及相似元素在层级中的排列顺序,确定第一页面与第二页面中对应的第二相同元素;其中,在第二页面中,同一层级中可能存在一个或多个相似元素,对于同一层级中的相似元素,可以将第一个相似元素确定为第二相同元素;③将第二页面中第二相同元素的原始序号,与第二页面中与第二相同元素属于同一层级的相似元素的原始序号进行对比,确定第二页面中的第二新增元素;具体的,在第二页面中,对于同一层级中的相似元素,可以按照从上往下的顺序将相似元素的原始序号与上一个第二相同元素的原始序号进行对比:若当前相似元素的原始序号大于上一个第二相同元素的原始序号,则将当前相似元素确定为第二相同元素,若当前相似元素的原始序号小于上一个第二相同元素的原始序号,则将相似元素确定为第二新增元素;④将第一页面中节点序号与第二新增元素的原始序号相同的相似元素,确定为第一页面中的第二失效元素。
示例的,如图6所示,首先,根据第一预设规则中的①,可确定第一页面中6011和第二页面中6012为对应的相似元素,第一页面中6021和第二页面中6022为对应的相似元素,第一页面中6031和第二页面中6032为对应的相似元素,第一页面中6041和第二页面中6042为对应的相似元素,第一页面中6051和第二页面中6052为对应的相似元素。然后,将第一页面中6011的节点序号(2)确定为第二页面中6012的原始序号,同理地,第二页面中6022的原始序号则为(3),6042的原始序号则为(5),6032的原始序号则为(4),6052的原始序号则为(6)。其次,由于第二页面中6012、6022、6042、6032、6052属于同一层级,可确定第二页面中的第一个相似元素6012为第二相同元素。接着,将第二页面中6022的原始序号则为(3)与上一个第二相同元素6012的原始序号(2)进行对比,(3)大于(2),则第二页面中6022确定为第二相同元素。再次,将第二页面中6042的原始序号(5)与上一个第二相同元素6022的原始序号(3)进行对比,(5)大于(3),则第二页面中6042确定为第二相同元素。再其次,将第二页面中6032的原始序号(4)与上一个第二相同元素6042的原始序号(5)进行对比,(4)小于(5),则第二页面中6032确定为第二新增元素。同理地,第二页面中6052可确定为第二相同元素。最后,将第一页面中节点序号与第二页面中第二新增元素6032的原始序号(4)相同的6031确定为第二失效元素。
确定第一页面中的第一失效元素和第二失效元素,以及第二页面中的第一新增元素和第二新增元素后,可将第一页面中的第一失效元素和第二失效元素确定为第一页面中的失效元素,将第二页面中的第一新增元素和第二新增元素确定为第二页面的新增元素。相应的,第一页面和第二页面中对应的第一相同元素,以及第一页面和第二页面中对应的第二相同元素,也可确定为第一页面和第二页面中对应的相同元素。也就是说,第一页面中的元素可划分为相同元素和失效元素,第二页面中的元素可划分为相同元素和新增元素。
S402,将失效元素与新增元素进行匹配,确定失效元素与新增元素中相匹配的目标元素。
其中,相匹配的目标元素是指功能相同的元素。若第一页面中的失效元素与第二页面中的新增元素的动能相同,则可以确定功能相同的失效元素与新增元素为相匹配的目标元素。
S403,根据目标元素在第一页面中的标识信息,更新目标元素在第二页面中的标识信息。
在一实施例中,目标元素在第一页面中的标识信息与在第二中的标识信息不同,可将目标元素在第二页面中的标识信息更新为目标元素在第一页面中的标识信息。
S404,获取第二页面中元素的标识信息与特征信息的对应关系。
其中,第二页面中元素的标识信息是指更新后的元素的标识信息,第二页面中元素的特征信息包括元素在第二页面中的坐标信息,第二页面中元素的标识信息与特征信息的对应关系可以是以表格的形式呈现。
S405,运行第二页面的测试脚本,根据对应关系,确定元素在第二页面中的坐标信息。
其中,第二页面的测试脚本是根据第二页面中的元素更新后的标识信息生成的。运行第二页面的测试脚本时,根据第二页面的测试脚本中元素的标识信息,可从第二页面中元素的标识信息与特征信息的对应关系中,确定每个元素的标识信息对应的特征信息,进而确定每个元素的坐标信息。
S406,根据元素在第二页面中的坐标信息,对元素进行测试,并输出测试结果。
在第二页面的测试脚本运行过程中,可以根据第二页面中元素对应的坐标信息对元素进行定位。进而,根据第二页面中元素的定位,对第二页面中的元素进行测试,得到并输出测试结果。
在本申请实施例中,在第一页面更新为第二页面的情况下,可以通过对比第一页面中的元素与第二页面中的元素,更新第二页面中的元素的标识信息,如此有利于降低页面的维护成本。进一步的,运行第二页面的测试脚本时,可根据第二页面中元素的标识信息从第二页面中元素的标识信息与特征信息的对应关系中,确定出第二页面中元素的特征信息,进而根据特征信息中包括的坐标信息实现对第二页面中元素的定位,以便于对第二页面中元素进行测试,相较于使用第二页面中元素的属性信息(如xpath、css、class等)进行元素定位,有利于提高页面测试的稳定性。
进一步的,请参见图7,为本申请实施例提供的一种页面测试装置的结构示意图。该页面测试装置700可以包括:
获取单元701,用于获取页面中元素的标识信息与特征信息的对应关系;元素的特征信息包括元素在页面中的坐标信息;
处理单元702,用于运行页面的测试脚本,根据对应关系,确定元素在页面中的坐标信息;测试脚本是基于元素的标识信息生成的;根据元素在页面中的坐标信息,对元素进行测试,并输出测试结果。
在一种实现方式中,处理单元702,还用于对页面进行解析,构建页面对应的树形结构;树形结构中的节点与页面中的元素对应;获取单元701,还用于获取树形结构中节点的标识信息与特征信息;树形结构中节点的特征信息包括节点在页面中的坐标信息;处理单元702,还用于根据树形结构中节点的标识信息与特征信息,构建页面中对应的元素的标识信息与特征信息的对应关系。
在一种实现方式中,树形结构中节点的特征信息还包括节点的节点标签、节点序号以及节点内容;元素的特征信息还包括节点的节点标签、节点序号以及节点内容。
在一种实现方式中,页面包括第一页面和第二页面;第二页面为第一页面更新后的页面;处理单元702,还用于将第一页面中的元素与第二页面中的元素进行对比,确定第一页面中的失效元素以及第二页面中的新增元素;将失效元素与新增元素进行匹配,确定失效元素与新增元素中相匹配的目标元素;根据目标元素在第一页面中的标识信息,更新目标元素在第二页面中的标识信息。
在一种实现方式中,处理单元702,还用于根据第一预设规则,将第一页面中的元素与第二页面中的元素进行对比,确定第一页面与第二页面中对应的相似元素和第一相同元素,以及第一页面中除相似元素和第一相同元素以外的第一失效元素,第二页面中除相似元素和第一相同元素以外的第一新增元素;根据第二预设规则,从相似元素中确定第一页面中的第二失效元素,以及第二页面中的第二新增元素;其中,第一页面中的失效元素包括第一失效元素和第二失效元素,第二页面中的新增元素包括第一新增元素和第二新增元素。
在一种实现方式中,处理单元702,还用于根据第一预设规则,确定第一页面与第二页面中对应的相似元素和第一相同元素,包括:将第一页面与第二页面中坐标信息、节点标签以及节点内容均相同,且节点序号不同的元素,确定为第一页面与第二页面中对应的相似元素;将第一页面与第二页面中坐标信息、节点标签、节点序号以及节点内容都相同的元素,确定为第一页面与第二页面中对应的第一相同元素。
在一种实现方式中,处理单元702,还用于根据第二预设规则,从相似元素中确定第一页面中的第二失效元素,以及第二页面中的第二新增元素,包括:将第一页面中相似元素的节点序号,确定为第二页面中对应的相似元素的原始序号;根据相似元素在第二页面中所属层级,以及相似元素在层级中的排列顺序,确定第一页面与第二页面中对应的第二相同元素;将第二页面中第二相同元素的原始序号,与第二页面中与第二相同元素属于同一层级的相似元素的原始序号进行对比,确定第二页面中的第二新增元素;将第一页面中节点序号与第二新增元素的原始序号相同的相似元素,确定为第一页面中的第二失效元素。
可以理解的是,本申请实施例提供的页面测试装置的各功能单元的功能可根据上述方法实施例中的相关方法具体实现,其具体实现过程可以参照上述方法实施例中的相关描述,此处不再赘述。
请参见图8,图8是本申请实施例提供的一种计算机设备800的结构示意图。该计算机设备可以包括:通信接口801、存储器802和处理器803,通信接口801、存储器802和处理器803通过一条或多条通信总线连接,通信总线用于实现这些组件之间的连接通信。通信接口801可以包括标准的有线接口、无线接口(如WIFI接口)。存储器802可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器802也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器802还可以包括上述种类的存储器的组合。处理器803可以是中央处理器(central processing unit,CPU)。处理器803还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。上述PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(genericarray logic,GAL)等。
可选的,存储器802还用于存储程序指令,处理器803还可调用该程序指令,以实现本申请实施例中的页面测试方法。
在一种实现方式中,处理器803调用存储器802存储的程序指令,以实现:获取页面中元素的标识信息与特征信息的对应关系;元素的特征信息包括元素在页面中的坐标信息;运行页面的测试脚本,根据对应关系,确定元素在页面中的坐标信息;测试脚本是基于元素的标识信息生成的;根据元素在页面中的坐标信息,对元素进行测试,并输出测试结果。
在一种实现方式中,处理器803还可调用该程序指令,以实现:对页面进行解析,构建页面对应的树形结构;树形结构中的节点与页面中的元素对应;获取树形结构中节点的标识信息与特征信息;树形结构中节点的特征信息包括节点在页面中的坐标信息;根据树形结构中节点的标识信息与特征信息,构建页面中对应的元素的标识信息与特征信息的对应关系。
在一种实现方式中,树形结构中节点的特征信息还包括节点的节点标签、节点序号以及节点内容;元素的特征信息还包括节点的节点标签、节点序号以及节点内容。
在一种实现方式中,页面包括第一页面和第二页面;第二页面为第一页面更新后的页面;处理器803还可调用该程序指令,以实现:将第一页面中的元素与第二页面中的元素进行对比,确定第一页面中的失效元素以及第二页面中的新增元素;将失效元素与新增元素进行匹配,确定失效元素与新增元素中相匹配的目标元素;根据目标元素在第一页面中的标识信息,更新目标元素在第二页面中的标识信息。
在一种实现方式中,处理器803还可调用该程序指令,以实现:根据第一预设规则,将第一页面中的元素与第二页面中的元素进行对比,确定第一页面与第二页面中对应的相似元素和第一相同元素,以及第一页面中除相似元素和第一相同元素以外的第一失效元素,第二页面中除相似元素和第一相同元素以外的第一新增元素;根据第二预设规则,从相似元素中确定第一页面中的第二失效元素,以及第二页面中的第二新增元素;其中,第一页面中的失效元素包括第一失效元素和第二失效元素,第二页面中的新增元素包括第一新增元素和第二新增元素。
在一种实现方式中,处理器803还可调用该程序指令,以实现:将第一页面与第二页面中坐标信息、节点标签以及节点内容均相同,且节点序号不同的元素,确定为第一页面与第二页面中对应的相似元素;将第一页面与第二页面中坐标信息、节点标签、节点序号以及节点内容都相同的元素,确定为第一页面与第二页面中对应的第一相同元素。
在一种实现方式中,处理器803还可调用该程序指令,以实现:根据第二预设规则,从相似元素中确定第一页面中的第二失效元素,以及第二页面中的第二新增元素,包括:将第一页面中相似元素的节点序号,确定为第二页面中对应的相似元素的原始序号;根据相似元素在第二页面中所属层级,以及相似元素在层级中的排列顺序,确定第一页面与第二页面中对应的第二相同元素;将第二页面中第二相同元素的原始序号,与第二页面中与第二相同元素属于同一层级的相似元素的原始序号进行对比,确定第二页面中的第二新增元素;将第一页面中节点序号与第二新增元素的原始序号相同的相似元素,确定为第一页面中的第二失效元素。
应当理解,本申请实施例中所描述的计算机设备800解决问题的原理与有益效果与本申请图2-图6所示实施例以及前述内容解决问题的原理和有益效果相似,为简洁描述,在这里不再赘述。
相应地,本申请实施例还提供了一种计算机可读存储介质,该计算机读存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现本申请实施例中的方法。
相应地,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现本申请实施例中的方法。
相应地,本申请实施例提供了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行本申请实施例中的方法。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤可以通过程序指令及相关的硬件来完成,该程序指令可以存储于一计算机可读存储介质中,计算机可读存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
以上所揭露的仅为本申请一种实施例而已,仅仅是本申请一部分实施例,不能以此来限定本申请之权利范围。
Claims (10)
1.一种页面测试方法,其特征在于,所述方法包括:
获取页面中元素的标识信息与特征信息的对应关系;所述元素的特征信息包括所述元素在所述页面中的坐标信息;
运行所述页面的测试脚本,根据所述对应关系,确定所述元素在所述页面中的坐标信息;所述测试脚本是基于所述元素的标识信息生成的;
根据所述元素在所述页面中的坐标信息,对所述元素进行测试,并输出测试结果。
2.如权利要求1所述的方法,其特征在于,所述获取页面中元素的标识信息与特征信息的对应关系,包括:
对页面进行解析,构建所述页面对应的树形结构;所述树形结构中的节点与所述页面中的元素对应;
获取所述树形结构中节点的标识信息与特征信息;所述树形结构中节点的特征信息包括所述节点在所述页面中的坐标信息;
根据所述树形结构中节点的标识信息与特征信息,构建所述页面中对应的元素的标识信息与特征信息的对应关系。
3.如权利要求2所述的方法,其特征在于,所述树形结构中节点的特征信息还包括所述节点的节点标签、节点序号以及节点内容;所述元素的特征信息还包括所述节点的节点标签、节点序号以及节点内容。
4.如权利要求3所述的方法,其特征在于,所述页面包括第一页面和第二页面;所述第二页面为所述第一页面更新后的页面;所述方法还包括:
将所述第一页面中的元素与所述第二页面中的元素进行对比,确定所述第一页面中的失效元素以及所述第二页面中的新增元素;
将所述失效元素与所述新增元素进行匹配,确定所述失效元素与所述新增元素中相匹配的目标元素;
根据所述目标元素在所述第一页面中的标识信息,更新所述目标元素在所述第二页面中的标识信息。
5.如权利要求4所述的方法,其特征在于,所述将所述第一页面中的元素与所述第二页面中的元素进行对比,确定所述第一页面中的失效元素以及所述第二页面中的新增元素,包括:
根据第一预设规则,将所述第一页面中的元素与所述第二页面中的元素进行对比,确定所述第一页面与所述第二页面中对应的相似元素和第一相同元素,以及所述第一页面中除所述相似元素和所述第一相同元素以外的第一失效元素,所述第二页面中除所述相似元素和所述第一相同元素以外的第一新增元素;
根据第二预设规则,从所述相似元素中确定所述第一页面中的第二失效元素,以及所述第二页面中的第二新增元素;其中,所述第一页面中的失效元素包括所述第一失效元素和所述第二失效元素,所述第二页面中的新增元素包括所述第一新增元素和所述第二新增元素。
6.如权利要求5所述的方法,其特征在于,所述根据第一预设规则,确定所述第一页面与所述第二页面中对应的相似元素和第一相同元素,包括:
将所述第一页面与所述第二页面中所述坐标信息、所述节点标签以及所述节点内容均相同,且所述节点序号不同的元素,确定为所述第一页面与所述第二页面中对应的相似元素;
将所述第一页面与所述第二页面中所述坐标信息、所述节点标签、所述节点序号以及所述节点内容都相同的元素,确定为所述第一页面与所述第二页面中对应的第一相同元素。
7.如权利要求6所述的方法,其特征在于,所述根据第二预设规则,从所述相似元素中确定所述第一页面中的第二失效元素,以及所述第二页面中的第二新增元素,包括:
将所述第一页面中所述相似元素的节点序号,确定为所述第二页面中对应的所述相似元素的原始序号;
根据所述相似元素在所述第二页面中所属层级,以及所述相似元素在所述层级中的排列顺序,确定所述第一页面与所述第二页面中对应的第二相同元素;
将所述第二页面中所述第二相同元素的原始序号,与所述第二页面中与所述第二相同元素属于同一层级的相似元素的原始序号进行对比,确定所述第二页面中的第二新增元素;
将所述第一页面中节点序号与所述第二新增元素的原始序号相同的相似元素,确定为所述第一页面中的第二失效元素。
8.一种页面测试装置,其特征在于,所述装置包括:
获取单元,用于获取页面中元素的标识信息与特征信息的对应关系;所述元素的特征信息包括所述元素在所述页面中的坐标信息;
处理单元,用于运行所述页面的测试脚本,根据所述对应关系,确定所述元素在所述页面中的坐标信息;所述测试脚本是基于所述元素的标识信息生成的;根据所述元素在所述页面中的坐标信息,对所述元素进行测试,并输出测试结果。
9.一种计算机设备,其特征在于,包括存储器、处理器以及网络接口,所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211255103.3A CN115687095A (zh) | 2022-10-13 | 2022-10-13 | 页面测试方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211255103.3A CN115687095A (zh) | 2022-10-13 | 2022-10-13 | 页面测试方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115687095A true CN115687095A (zh) | 2023-02-03 |
Family
ID=85065433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211255103.3A Pending CN115687095A (zh) | 2022-10-13 | 2022-10-13 | 页面测试方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115687095A (zh) |
-
2022
- 2022-10-13 CN CN202211255103.3A patent/CN115687095A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9098481B2 (en) | Increasing accuracy in determining purpose of fields in forms | |
CN110688307B (zh) | JavaScript代码检测方法、装置、设备和存储介质 | |
CN111222070B (zh) | 数据处理方法、装置、设备及存储介质 | |
KR20140048139A (ko) | 실행 페이지의 동적 갱신 기법 | |
CN107678943B (zh) | 抽象页面对象的页面自动化测试方法 | |
CN109144567B (zh) | 跨平台的网页渲染方法、装置、服务器及存储介质 | |
CN106354483B (zh) | 一种数据处理方法、装置及电子设备 | |
CN107122187A (zh) | 一种业务系统异构操作系统访问设计方法 | |
US11418622B2 (en) | System and methods for web-based software application translation | |
CN111831384A (zh) | 语言切换方法和装置、设备及存储介质 | |
CN107515866B (zh) | 一种数据操作方法、装置和系统 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN111427577A (zh) | 代码处理方法、装置及服务器 | |
US10956658B2 (en) | Digital content editing of a document object model (DOM) based on object model comparison | |
EP1830274A1 (en) | Server device and name space issuing method | |
CN112926008A (zh) | 生成表单页面的方法、装置、电子设备和存储介质 | |
CN112667208A (zh) | 翻译错误识别方法、装置、计算机设备及可读存储介质 | |
CN113139145B (zh) | 页面生成方法、装置、电子设备及可读存储介质 | |
CN113127776A (zh) | 面包屑路径生成方法、装置及终端设备 | |
EP2901277A1 (en) | Documentation parser | |
CN115687095A (zh) | 页面测试方法、装置、设备及计算机可读存储介质 | |
CN110543641A (zh) | 一种中外文信息对比方法及装置 | |
JP6045393B2 (ja) | 情報処理システム | |
US11741295B2 (en) | Independent rendering engine for a user interface internationalization | |
CN114356291A (zh) | 基于配置文件生成表单的方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |