CN113761431B - 一种校验页面完整性的方法和装置 - Google Patents
一种校验页面完整性的方法和装置 Download PDFInfo
- Publication number
- CN113761431B CN113761431B CN202011017688.6A CN202011017688A CN113761431B CN 113761431 B CN113761431 B CN 113761431B CN 202011017688 A CN202011017688 A CN 202011017688A CN 113761431 B CN113761431 B CN 113761431B
- Authority
- CN
- China
- Prior art keywords
- page
- object model
- document object
- control
- total number
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003032 molecular docking Methods 0.000 claims abstract description 110
- 210000001503 joint Anatomy 0.000 claims abstract description 46
- 238000012795 verification Methods 0.000 claims abstract description 40
- 238000007781 pre-processing Methods 0.000 claims description 21
- 238000010845 search algorithm Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 26
- 238000012360 testing method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000011990 functional testing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种校验页面完整性的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收对接控件的点击事件,获取所述对接控件所在页面的文档对象模型,并进入所述对接控件对应的功能页面;接收所述功能页面上的退出控件的点击事件,返回至所述功能页面的上级页面,并获取所述上级页面的文档对象模型;采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验。该实施方式能够解决消耗人力和校验质量难以保证的技术问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种校验页面完整性的方法和装置。
背景技术
随着目前移动应用项目的日益庞大,需要引入自动化测试。在自动化测试过程中,往往将关注点放在应用的功能流程上,而容易忽视功能对接控件页面的完整性校验,这样往往会造成项目对接控件的质量难以保证。比如,A团队负责整个应用的搭建,应用中有个对接控件是进入B团队负责的聊天功能。项目交付时,往往A团队会验收对接控件是否能跳转到聊天功能,B团队负责验收聊天功能是否符合交付标准。但是对于聊天功能使用完成后应用的对接控件页面是否有页面元素发生缺失、变形等异常情况,往往很容易遗漏测试,所以页面完整度的校验就十分必要。目前,现有方案是通过人工手动进行全覆盖校验。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
消耗人力、成本过高,每个版本发版都需要对接控件页面进行页面完整性校验;对接控件页面完整性没有明确校验点或者说整个页面都是校验点,又或者有校验点但需要人工记忆进行校验,这种情况会造成很容易遗漏校验点;测试的流程与质量难以把握,导致最终的交付质量难以保证。
发明内容
有鉴于此,本发明实施例提供一种校验页面完整性的方法和装置,以解决消耗人力和校验质量难以保证的技术问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种校验页面完整性的方法,包括:
接收对接控件的点击事件,获取所述对接控件所在页面的文档对象模型,并进入所述对接控件对应的功能页面;
接收所述功能页面上的退出控件的点击事件,返回至所述功能页面的上级页面,并获取所述上级页面的文档对象模型;
采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验。
可选地,采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验,包括:
基于第一差异对比规则,分别对所述对接控件所在页面的文档对象模型和所述上级页面的文档对象模型进行预处理;
基于第二差异对比规则,采用差异查找算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到对比结果;
根据所述对比结果进行页面完整性校验。
可选地,所述第一差异对比规则包括需要保留的元素节点;
基于第一差异对比规则,分别对所述对接控件所在页面的文档对象模型和所述级页面的文档对象模型进行预处理,包括:
基于需要保留的元素节点,保留所述对接控件所在页面的文档对象模型中的元素节点以及所述上级页面的文档对象模型中的元素节点。
可选地,所述第二差异对比规则包括需要忽略的节点属性;
基于第二述差异对比规则,采用差异查找算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到对比结果,包括:
基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到控件匹配度和属性匹配度。
可选地,基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到控件匹配度和属性匹配度,包括:
采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到比较产出元素节点总数量;
根据所述比较产出元素节点总数量和所述对接控件所在页面的元素节点总数量,计算控件匹配度;
基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度;
根据所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度,计算属性匹配度。
可选地,所述比较产出元素节点总数量包括插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量;
根据所述比较产出元素节点总数量和所述对接控件所在页面的元素节点总数量,计算控件匹配度,包括:
将插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到控件匹配度。
可选地,根据所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度,计算属性匹配度,包括:
对于每个元素节点,将所述元素节点的各个未忽略的节点属性的相似度相加,然后除以未忽略的节点属性的总数量,得到所述元素节点的平均相似度;
将每个元素节点的平均相似度相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到属性匹配度。
另外,根据本发明实施例的另一个方面,提供了一种校验页面完整性的装置,包括:
第一获取模块,用于接收对接控件的点击事件,获取所述对接控件所在页面的文档对象模型,并进入所述对接控件对应的功能页面;
第二获取模块,用于接收所述功能页面上的退出控件的点击事件,返回至所述功能页面的上级页面,并获取所述上级页面的文档对象模型;
校验模块,用于采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验。
可选地,所述校验模块还用于:
基于第一差异对比规则,分别对所述对接控件所在页面的文档对象模型和所述上级页面的文档对象模型进行预处理;
基于第二差异对比规则,采用差异查找算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到对比结果;
根据所述对比结果进行页面完整性校验。
可选地,所述第一差异对比规则包括需要保留的元素节点;
所述校验模块还用于:
基于需要保留的元素节点,保留所述对接控件所在页面的文档对象模型中的元素节点以及所述上级页面的文档对象模型中的元素节点。
可选地,所述第二差异对比规则包括需要忽略的节点属性;
所述校验模块还用于:
基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到控件匹配度和属性匹配度。
可选地,所述校验模块还用于:
采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到比较产出元素节点总数量;
根据所述比较产出元素节点总数量和所述对接控件所在页面的元素节点总数量,计算控件匹配度;
基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度;
根据所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度,计算属性匹配度。
可选地,所述比较产出元素节点总数量包括插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量;
所述校验模块还用于:
将插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到控件匹配度。
可选地,所述校验模块还用于:
对于每个元素节点,将所述元素节点的各个未忽略的节点属性的相似度相加,然后除以未忽略的节点属性的总数量,得到所述元素节点的平均相似度;
将每个元素节点的平均相似度相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到属性匹配度。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现上述任一实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为通过采用差异查找算法对对接控件所在页面的文档对象模型与功能页面的上级页面的文档对象模型进行差异对比的技术手段,所以克服了现有技术中消耗人力和校验质量难以保证的技术问题。本发明实施例分别获取对接控件所在页面的文档对象模型和功能页面的上级页面的文档对象模型,并对两者进行差异对比,从而根据差异对比结果进行页面完整性校验,以保证对接控件页面在进行功能测试后校验页面完整性,不但释放了人力、提升了校验效率,还可以避免遗漏页面的校验点,从而防止由于人为疏忽造成的校验质量问题。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的校验页面完整性的方法的主要流程的示意图;
图2a和图2b是根据本发明实施例的DIFF算法的差异对比示意图;
图3是根据本发明一个可参考实施例的校验页面完整性的方法的主要流程的示意图;
图4是根据本发明实施例的校验页面完整性的装置的主要模块的示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的校验页面完整性的方法的主要流程的示意图。作为本发明的一个实施例,如图1所示,所述校验页面完整性的方法可以包括:
步骤101,接收对接控件的点击事件,获取所述对接控件所在页面的文档对象模型,并进入所述对接控件对应的功能页面。
在对应用进行自动化测试的过程中,可以采用自动化测试工具模拟用户的操作(比如点击、拖曳等),如果接收到对接控件的点击事件,则获取所述对接控件所在页面(即对接控件页面)的文档对象模型(Document Object Model,简称DOM),然后进入所述对接控件对应的功能页面。
以聊天功能为例,如果接收到对接控件(也就是聊天页面的入口)的点击事件,则获取所述对接控件所在页面的DOM,然后进入所述对接控件对应的聊天页面。
可选地,对接控件页面的DOM可以通过DOM控制器来获取,以安卓终端为例,通过UiAutomatorBridge与UiAutomation的聚合关系与安卓终端中AccessibilityService进行连接然后获取页面的元素节点信息。
步骤102,接收所述功能页面上的退出控件的点击事件,返回至所述功能页面的上级页面,并获取所述上级页面的文档对象模型。
进入功能页面后,采用自动化测试工具对功能页面进行自动化测试,以验收功能页面上的各个功能是否符合交付标准。完成对功能页面的自动化测试后,自动化测试工具模拟用户的操作,点击功能页面上的退出控件。如果校验系统接收到所述功能页面上的退出控件的点击事件,则返回至所述功能页面的上级页面(也就是对接控件页面),但是由于当前返回的对接控件页面可能存在页面元素发生缺失、变形等异常情况,因此需要获取当前返回的对接控件页面的DOM,以便于将进入功能页面前的对接控件页面与从功能页面退出后的对接控件页面进行差异对比。
需要指出的是,为了区分进入功能页面前的对接控件页面和从功能页面退出后的对接控件页面,本发明实施例将从功能页面退出后的对接控件页面命名为功能页面的上级页面。所述功能页面的上级页面与对接控件页面存在差异,因此需要进行差异对比,从而校验页面完整性。
步骤103,采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验。
采用步骤101和步骤102的方法获取到对接控件所在页面的DOM和上级页面的DOM之后,采用差异查找算法对这两个页面的DOM进行差异对比,得到对比结果,从而根据对比结果进行页面完整性校验。
可选地,步骤103可以包括:基于第一差异对比规则,分别对所述对接控件所在页面的文档对象模型和所述上级页面的文档对象模型进行预处理;基于第二差异对比规则,采用差异查找算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到对比结果;根据所述对比结果进行页面完整性校验。可以预先配置第一差异对比规则(比如默认对比规则或者自定义对比规则),然后基于预先配置的第一差异对比规则,分别对步骤101和步骤102中获取的DOM进行预处理,最后基于预先配置的第二差异对比规则(比如默认对比规则或者自定义对比规则)并采用DIFF算法对预处理后的DOM进行差异对比,得到对比结果,从而基于对比结果来判断进入功能页面前的对接控件页面与从功能页面退出后的对接控件页面的页面完整性情况。
可选地,所述第一差异对比规则可以包括需要保留的元素节点。基于第一差异对比规则,分别对所述对接控件所在页面的文档对象模型和所述级页面的文档对象模型进行预处理,包括:基于需要保留的元素节点,保留所述对接控件所在页面的文档对象模型中的元素节点以及所述上级页面的文档对象模型中的元素节点。在本发明的实施例中,可以基于第一差异对比规则中需要保留的元素节点,对步骤101和步骤102中获取的DOM进行预处理,也就是说,只保留第一差异对比规则中配置的需要保留的元素节点,这样可以过滤掉不需要关注的元素节点,还可以提高对比效率。
可选地,所述第二差异对比规则可以包括需要忽略的节点属性。基于第二差异对比规则,采用差异查找算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到对比结果,包括:基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到控件匹配度和属性匹配度。在本发明的实施例中,可以基于第二差异对比规则中需要忽略的节点属性,对预处理后的DOM进行差异对比,也就是说,对于每个元素节点,忽略掉第二差异对比规则中配置的需要忽略的节点属性,只比对未忽略的节点属性,这样可以忽略掉不需要关注的节点属性,还可以提高对比效率。
其中,所述节点属性可以包括ID、名字(Name)、描述(Desc)、类名(ClassName)和包名(Package)等,可以在第二差异对比规则中配置需要忽略的节点属性(比如描述或者包名),那么采用DIFF算法进行差异对比时,就会忽略掉这些需要忽略的节点属性,只比对未忽略的节点属性。
DIFF算法根据粒度不同主要分为三个维度:
1)tree diff:对树的每一层进行遍历,如果组件单元不存在,则记录差异;
2)component diff:针对不同类型的组件单元,记录差异,然后继续比较element;针对相同类型的组件单元,继续比较element。
3)element diff:
比较产出,包括(INSERT_MAKEUP插入的元素节点,MOVE_E XISTING移除已存在的元素节点,REMOVE_DONE移除不存在的元素节点);
比较策略:遍历所有元素节点进行比较,例如图2a中的R、A、B、C、D等,图2b中的R、A、B、C、D、E等,记录差异。
可选地,基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到控件匹配度和属性匹配度,包括:采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到比较产出元素节点总数量;根据所述比较产出元素节点总数量和所述对接控件所在页面的元素节点总数量,计算控件匹配度;基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度;根据所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度,计算属性匹配度。采用DIFF算法可以准确地计算出进入功能页面前的对接控件页面与从功能页面退出后的对接控件页面之间的控件匹配度和属性相似度,从而可以根据预先配置的完整性阈值,判断控件匹配度和属性相似度是否满足完整性要求。如果控件匹配度和属性相似度都在预设的阈值内,则表示符合完整性规则,校验通过,不符合则说明校验不通过。
可选地,所述比较产出元素节点总数量包括插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量。可选地,根据所述比较产出元素节点总数量和所述对接控件所在页面的元素节点总数量,计算控件匹配度,包括:将插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到控件匹配度。
令插入的元素节点的总数量(INSERT_MAKEUP的总数量)为In,移除已存在的元素节点的总数量(MOVE_EXISTING的总数量)为Mn,移除不存在的元素节点的总数量(REMOVE_DONE的总数量)为En,对接控件所在页面的元素节点总数量为Sn,则控件匹配度Ed=(In+Mn+En)/Sn。
以图2a为例,左侧为进入功能页面前的对接控件页面的树形结构,右侧为从功能页面退出后的对接控件页面的树形结构,通过比较可以得到In=3,Mn=3,En=0,Sn=5,因此Ed=(3+3+0)/5=1.2。
可选地,根据所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度,计算属性匹配度,包括:对于每个元素节点,将所述元素节点的各个未忽略的节点属性的相似度相加,然后除以未忽略的节点属性的总数量,得到所述元素节点的平均相似度;将每个元素节点的平均相似度相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到属性匹配度。在本发明的实施例中,对于某一个元素节点的某一个节点属性,计算该节点属性在进入功能页面前的对接控件页面与从功能页面退出后的对接控件页面之间的相似度。
假设未忽略的节点属性有ID、Name、Desc和ClassName,这些节点属性的相似度分别为:ID相似度s1、Name相似度s2、Desc相似度s3、ClassName相似度s4;
那么属性匹配度Ad=((s1+s2+s3+s4)/4+…+(s1+s2+s3+s4)/4))/Sn。
根据上面所述的各种实施例,可以看出本发明实施例通过采用差异查找算法对对接控件所在页面的文档对象模型与功能页面的上级页面的文档对象模型进行差异对比的技术手段,解决了现有技术中消耗人力和校验质量难以保证的技术问题。本发明实施例分别获取对接控件所在页面的文档对象模型和功能页面的上级页面的文档对象模型,并对两者进行差异对比,从而根据差异对比结果进行页面完整性校验,以保证对接控件页面在进行功能测试后校验页面完整性,不但释放了人力、提升了校验效率,还可以避免遗漏页面的校验点,从而防止由于人为疏忽造成的校验质量问题。
图3是根据本发明一个可参考实施例的校验页面完整性的方法的主要流程的示意图。作为本发明的又一个实施例,如图3所示,所述校验页面完整性的方法可以包括:
步骤301,接收对接控件的点击事件。
在对应用进行自动化测试的过程中,可以采用自动化测试工具模拟用户的操作,比如点击操作、拖曳操作等,因此可以通过自动化测试工具模拟用户的点击操作来点击对接控件。
步骤302,获取所述对接控件所在页面的DOM。
如果接收到对接控件的点击事件,则获取所述对接控件所在页面(即对接控件页面)的DOM。
步骤303,进入所述对接控件对应的功能页面。
获取到对接控件页面的DOM之后,进入所述对接控件对应的功能页面,随后采用自动化测试工具对功能页面进行自动化测试,以验收功能页面上的各个功能是否符合交付标准。
步骤304,接收所述功能页面上的退出控件的点击事件。
完成对功能页面的自动化测试后,自动化测试工具模拟用户的操作,点击功能页面上的退出控件。
步骤305,返回至所述功能页面的上级页面。
如果接收到所述功能页面上的退出控件的点击事件,则返回至所述功能页面的上级页面(也就是对接控件页面)。
步骤306,获取所述上级页面的DOM。
但是由于当前返回的对接控件页面可能存在页面元素发生缺失、变形等异常情况,因此需要获取当前返回的对接控件页面的DOM,以便于将进入功能页面前的对接控件页面与从功能页面退出后的对接控件页面进行差异对比。
步骤307,采用DIFF算法对所述对接控件所在页面的DOM与所述上级页面的DOM进行差异对比。
可以基于预先配置的第一差异对比规则,分别对所述对接控件所在页面的文档对象模型和所述上级页面的文档对象模型进行预处理。比如,基于第一差异对比规则中需要保留的元素节点,保留所述对接控件所在页面的DOM中的元素节点以及所述上级页面的DOM中的元素节点。
然后基于第二差异对比规则,采用DIFF算法对所述对接控件所在页面的DOM中的元素节点以及所述上级页面的DOM中的元素节点进行差异对比,得到对比结果。比如,基于第二差异对比规则中需要忽略的节点属性,采用DIFF算法对所述对接控件所在页面的DOM中的元素节点以及所述上级页面的DOM中的元素节点进行差异对比,得到控件匹配度和属性匹配度。需要指出的是,对于每个元素节点,忽略掉第二差异对比规则中配置的需要忽略的节点属性,只比对未忽略的节点属性。
具体地,可以采用如下方法计算控件匹配度:
令插入的元素节点的总数量(INSERT_MAKEUP的总数量)为In,移除已存在的元素节点的总数量(MOVE_EXISTING的总数量)为Mn,移除不存在的元素节点的总数量(REMOVE_DONE的总数量)为En,对接控件所在页面的元素节点总数量为Sn,则控件匹配度Ed=(In+Mn+En)/Sn。
具体地,可以采用如下方法计算属性匹配度
假设未忽略的节点属性有ID、Name、Desc、ClassName和Package,这些节点属性的相似度分别为:ID相似度s1、Name相似度s2、Desc相似度s3、ClassName相似度s4、Package相似度s5;
那么属性匹配度
Ad=((s1+s2+s3+s4+s5)/5+…+(s1+s2+s3+s4+s5)/5))/Sn。
步骤308,根据对比结果进行页面完整性校验。
根据预先配置的完整性阈值,判断控件匹配度和属性相似度是否满足完整性要求。如果控件匹配度和属性相似度都在预设的阈值内,则表示符合完整性规则,校验通过,不符合则说明校验不通过。
另外,在本发明一个可参考实施例中校验页面完整性的方法的具体实施内容,在上面所述校验页面完整性的方法中已经详细说明了,故在此重复内容不再说明。
图4是根据本发明实施例的校验页面完整性的装置的主要模块的示意图。如图4所示,所述校验页面完整性的装置400包括第一获取模块401、第二获取模块402和校验模块403;其中,第一获取模块401用于接收对接控件的点击事件,获取所述对接控件所在页面的文档对象模型,并进入所述对接控件对应的功能页面;第二获取模块402用于接收所述功能页面上的退出控件的点击事件,返回至所述功能页面的上级页面,并获取所述上级页面的文档对象模型;校验模块403用于采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验。
可选地,所述校验模块403还用于:
基于第一差异对比规则,分别对所述对接控件所在页面的文档对象模型和所述上级页面的文档对象模型进行预处理;
基于第二差异对比规则,采用差异查找算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到对比结果;
根据所述对比结果进行页面完整性校验。
可选地,所述第一差异对比规则包括需要保留的元素节点;
所述校验模块403还用于:
基于需要保留的元素节点,保留所述对接控件所在页面的文档对象模型中的元素节点以及所述上级页面的文档对象模型中的元素节点。
可选地,所述第二差异对比规则包括需要忽略的节点属性;
所述校验模块403还用于:
基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到控件匹配度和属性匹配度。
可选地,所述校验模块403还用于:
采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到比较产出元素节点总数量;
根据所述比较产出元素节点总数量和所述对接控件所在页面的元素节点总数量,计算控件匹配度;
基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度;
根据所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度,计算属性匹配度。
可选地,所述比较产出元素节点总数量包括插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量;
所述校验模块403还用于:
将插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到控件匹配度。
可选地,所述校验模块403还用于:
对于每个元素节点,将所述元素节点的各个未忽略的节点属性的相似度相加,然后除以未忽略的节点属性的总数量,得到所述元素节点的平均相似度;
将每个元素节点的平均相似度相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到属性匹配度。
根据上面所述的各种实施例,可以看出本发明实施例通过采用差异查找算法对对接控件所在页面的文档对象模型与功能页面的上级页面的文档对象模型进行差异对比的技术手段,解决了现有技术中消耗人力和校验质量难以保证的技术问题。本发明实施例分别获取对接控件所在页面的文档对象模型和功能页面的上级页面的文档对象模型,并对两者进行差异对比,从而根据差异对比结果进行页面完整性校验,以保证对接控件页面在进行功能测试后校验页面完整性,不但释放了人力、提升了校验效率,还可以避免遗漏页面的校验点,从而防止由于人为疏忽造成的校验质量问题。
需要说明的是,在本发明所述校验页面完整性的装置的具体实施内容,在上面所述校验页面完整性的方法中已经详细说明了,故在此重复内容不再说明。
图5示出了可以应用本发明实施例的校验页面完整性的方法或校验页面完整性的装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的物品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的校验页面完整性的方法一般由终端设备501、502、503执行,相应地,所述校验页面完整性的装置设置在终端设备501、502、503中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取模块、第二获取模块和校验模块,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,该设备实现如下方法:接收对接控件的点击事件,获取所述对接控件所在页面的文档对象模型,并进入所述对接控件对应的功能页面;接收所述功能页面上的退出控件的点击事件,返回至所述功能页面的上级页面,并获取所述上级页面的文档对象模型;采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验。
根据本发明实施例的技术方案,因为通过采用差异查找算法对对接控件所在页面的文档对象模型与功能页面的上级页面的文档对象模型进行差异对比的技术手段,所以克服了现有技术中消耗人力和校验质量难以保证的技术问题。本发明实施例分别获取对接控件所在页面的文档对象模型和功能页面的上级页面的文档对象模型,并对两者进行差异对比,从而根据差异对比结果进行页面完整性校验,以保证对接控件页面在进行功能测试后校验页面完整性,不但释放了人力、提升了校验效率,还可以避免遗漏页面的校验点,从而防止由于人为疏忽造成的校验质量问题。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种校验页面完整性的方法,其特征在于,包括:
接收对接控件的点击事件,获取所述对接控件所在页面的文档对象模型,并进入所述对接控件对应的功能页面;
接收所述功能页面上的退出控件的点击事件,返回至所述功能页面的上级页面,并获取所述上级页面的文档对象模型;
采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验。
2.根据权利要求1所述的方法,其特征在于,采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验,包括:
基于第一差异对比规则,分别对所述对接控件所在页面的文档对象模型和所述上级页面的文档对象模型进行预处理;
基于第二差异对比规则,采用差异查找算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到对比结果;
根据所述对比结果进行页面完整性校验。
3.根据权利要求2所述的方法,其特征在于,所述第一差异对比规则包括需要保留的元素节点;
基于第一差异对比规则,分别对所述对接控件所在页面的文档对象模型和所述级页面的文档对象模型进行预处理,包括:
基于需要保留的元素节点,保留所述对接控件所在页面的文档对象模型中的元素节点以及所述上级页面的文档对象模型中的元素节点。
4.根据权利要求2所述的方法,其特征在于,所述第二差异对比规则包括需要忽略的节点属性;
基于第二差异对比规则,采用差异查找算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到对比结果,包括:
基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到控件匹配度和属性匹配度。
5.根据权利要求4所述的方法,其特征在于,基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到控件匹配度和属性匹配度,包括:
采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到比较产出元素节点总数量;
根据所述比较产出元素节点总数量和所述对接控件所在页面的元素节点总数量,计算控件匹配度;
基于需要忽略的节点属性,采用DIFF算法对预处理后的所述对接控件所在页面的文档对象模型与预处理后的所述上级页面的文档对象模型进行差异对比,得到所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度;
根据所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度,计算属性匹配度。
6.根据权利要求5所述的方法,其特征在于,所述比较产出元素节点总数量包括插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量;
根据所述比较产出元素节点总数量和所述对接控件所在页面的元素节点总数量,计算控件匹配度,包括:
将插入的元素节点的总数量、移除已存在的元素节点的总数量和移除不存在的元素节点的总数量相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到控件匹配度。
7.根据权利要求5所述的方法,其特征在于,根据所述对接控件所在页面与所述上级页面的各个元素节点的各个未忽略的节点属性的相似度,计算属性匹配度,包括:
对于每个元素节点,将所述元素节点的各个未忽略的节点属性的相似度相加,然后除以未忽略的节点属性的总数量,得到所述元素节点的平均相似度;
将每个元素节点的平均相似度相加,然后除以所述对接控件所在页面的元素节点总数量,从而得到属性匹配度。
8.一种校验页面完整性的装置,其特征在于,包括:
第一获取模块,用于接收对接控件的点击事件,获取所述对接控件所在页面的文档对象模型,并进入所述对接控件对应的功能页面;
第二获取模块,用于接收所述功能页面上的退出控件的点击事件,返回至所述功能页面的上级页面,并获取所述上级页面的文档对象模型;
校验模块,用于采用差异查找算法对所述对接控件所在页面的文档对象模型与所述上级页面的文档对象模型进行差异对比,从而根据对比结果进行页面完整性校验。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011017688.6A CN113761431B (zh) | 2020-09-24 | 2020-09-24 | 一种校验页面完整性的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011017688.6A CN113761431B (zh) | 2020-09-24 | 2020-09-24 | 一种校验页面完整性的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113761431A CN113761431A (zh) | 2021-12-07 |
CN113761431B true CN113761431B (zh) | 2024-06-18 |
Family
ID=78785845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011017688.6A Active CN113761431B (zh) | 2020-09-24 | 2020-09-24 | 一种校验页面完整性的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761431B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063484A (zh) * | 2010-12-29 | 2011-05-18 | 北京安天电子设备有限公司 | 第三方web应用程序发现的方法和装置 |
CN107562600A (zh) * | 2017-08-23 | 2018-01-09 | 广州阿里巴巴文学信息技术有限公司 | 页面检测方法、装置、计算设备以及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9305169B2 (en) * | 2012-12-18 | 2016-04-05 | Tinfoil Security, Inc. | System and methods for scalably identifying and characterizing structural differences between document object models |
CN107918575B (zh) * | 2016-10-08 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 一种页面状态的监控方法及装置 |
CN108334517A (zh) * | 2017-01-20 | 2018-07-27 | 华为技术有限公司 | 一种网页渲染方法及相关设备 |
CN110795661B (zh) * | 2019-09-29 | 2023-03-24 | 武汉大学深圳研究院 | 一种提供端对端完整性保护的Web应用系统及方法 |
CN111639287A (zh) * | 2020-04-29 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 一种页面处理方法、装置、终端设备及可读存储介质 |
-
2020
- 2020-09-24 CN CN202011017688.6A patent/CN113761431B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063484A (zh) * | 2010-12-29 | 2011-05-18 | 北京安天电子设备有限公司 | 第三方web应用程序发现的方法和装置 |
CN107562600A (zh) * | 2017-08-23 | 2018-01-09 | 广州阿里巴巴文学信息技术有限公司 | 页面检测方法、装置、计算设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113761431A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109583746B (zh) | 设置流程的路由规则的方法及装置、可读存储介质 | |
CN110019263B (zh) | 信息存储方法和装置 | |
CN109710507B (zh) | 一种自动化测试的方法和装置 | |
CN109862100B (zh) | 用于推送信息的方法和装置 | |
CN108933695B (zh) | 用于处理信息的方法和装置 | |
CN110516984B (zh) | 用于生成配送路径信息的方法和装置 | |
US11502899B2 (en) | Dynamic product installation based on user feedback | |
CN111104479A (zh) | 一种数据标注的方法及装置 | |
US9824403B2 (en) | Measuring problems from social media discussions | |
CN107291835B (zh) | 一种搜索词的推荐方法和装置 | |
CN111752834A (zh) | 自动化测试方法和装置 | |
CN113989058A (zh) | 一种服务生成方法和装置 | |
CN113761431B (zh) | 一种校验页面完整性的方法和装置 | |
CN116204428A (zh) | 一种测试用例生成方法和装置 | |
CN115563942A (zh) | 一种合同生成方法、装置、电子设备及计算机可读介质 | |
CN111460273B (zh) | 信息推送方法和装置 | |
CN113283850A (zh) | 一种任务审核方法、装置和系统 | |
CN110703119A (zh) | 评估电池健康状态的方法和装置 | |
CN112711572A (zh) | 适用于分库分表的在线扩容方法和装置 | |
CN110580626A (zh) | 用于生成信息的方法和装置 | |
CN110717826A (zh) | 一种资产过滤的方法和装置 | |
CN111857879B (zh) | 数据处理方法、装置、电子设备和计算机可读介质 | |
CN111460274B (zh) | 信息处理方法和装置 | |
US11310210B2 (en) | Applying unified governance and integration platform to social media data | |
CN112667627B (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 | ||
GR01 | Patent grant |