CN109241485A - 一种页面间跳转关系建立方法,及装置 - Google Patents
一种页面间跳转关系建立方法,及装置 Download PDFInfo
- Publication number
- CN109241485A CN109241485A CN201811039512.3A CN201811039512A CN109241485A CN 109241485 A CN109241485 A CN 109241485A CN 201811039512 A CN201811039512 A CN 201811039512A CN 109241485 A CN109241485 A CN 109241485A
- Authority
- CN
- China
- Prior art keywords
- page
- key
- identification
- jump
- images
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种页面间跳转关系建立方法,及装置,其中方法包括:在获得应用软件的识别页面的页面图像后,对所述页面图像进行图像处理,获得所述页面图像中的按键;在操作所述按键后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息。在不修改应用软件的情况下自动建立应用软件的页面间的逻辑关系,由于不受应用软件是否支持SDK影响,应用可以更为广泛。
Description
技术领域
本发明实施例涉及计算机技术领域,特别涉及一种页面间跳转关系建立方法,及装置。
背景技术
应用软件的页面会呈现众多信息;由于一个页面通常无法完全显示所有的信息,这些信息需要通过多个页面来展示;那么页面需要提供页面间跳转的操作入口,这些操作入口称为按键。例如:应用软件通常会有主界面,主界面中提供了进入子界面的各种按键,用户点击这些按键则可以跳转进入对应的子界面。页面逻辑关系是指页面间跳转关系。
需要建立页面间的跳转关系的应用场景较多,例如:在软件测试、自动化页面操作等场景下。以页面逻辑关系测试为例,是软件测试的一个方面,需要获知软件实际的页面逻辑关系。最早的页面逻辑关系测试是由人工完成的,由人手动操作点击页面中的按键,并记录页面逻辑关系。但是人工操作耗时且容易遗漏,因此人工测试效果并不好。
后来出现了一些替代人工测试的自动化测试,例如:在软件中集成软件开发工具包(Software Development Kit,SDK)来获得控件,通过控件的伪操作实现自动化测试。但是,该自动化测试方案,只能在单个进程自动化测试,而且只能测试支持SDK的软件;因此该自动化测试方案需要对被测试软件进行修改,且局限性大。
因此,目前建立应用软件的页面间跳转关系的技术方案,需要对应用软件进行修改,局限性较大。
发明内容
本发明实施例提供了一种页面间跳转关系建立方法,及装置,在不修改应用软件的情况下自动建立应用软件的页面间的逻辑关系,由于不受应用软件是否支持SDK影响,应用可以更为广泛。
本发明实施例一方面提供了一种页面间跳转关系建立方法,包括:
在获得应用软件的识别页面的页面图像后,对所述页面图像进行图像处理,获得所述页面图像中的按键;
在操作所述按键后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息;
在操作所述按键后,若未跳转到跳转页面,则确定所述按键为无效按键,删除所述按键的信息。
在另一种可能的实现方式中,所述操作所述按键包括:
使用系统命令模拟输入点击所述按键的点击指令。
在另一种可能的实现方式中,所述对所述页面图像进行图像识别,获得所述页面图像中的按键包括:
对所述应用软件的识别页面进行边缘检测、轮廓提取或文字识别中的一项或多项,获得所述页面图像中的按键。
在另一种可能的实现方式中,在所述对所述页面图像进行图像处理,获得所述页面图像中的按键之前,所述方法还包括:
降低所述识别页面的分辨率得到参考页面;
使用所述参考页面与已经获得的所述页面图像进行像素比对,通过所述像素比对获得的精确度确定所述识别页面是否为新的页面,若是则执行所述对所述页面图像进行图像处理,获得所述页面图像中的按键。
在另一种可能的实现方式中,所述记录所述识别页面经所述按键跳转到所述跳转页面的信息包括:
记录所述识别页面的名称、所述跳转页面的名称、所述识别页面由所述按键跳转到所述跳转页面的跳转关系、所述识别页面与所述跳转页面之间的层级关系。
在另一种可能的实现方式中,所述方法还包括:
在所述应用软件的所有页面间的逻辑关系记录完毕后,以树形数据结构存储所述应用软件的页面间的层级关系;
确定所述识别页面在所述树形数据结构中对应的深度为所述识别页面的深度;将所述识别页面的深度作为所述识别页面的跳转复杂度。
本分发明实施例二方面还提供了一种页面间跳转关系建立装置,包括:
按键获得单元,用于在获得应用软件的识别页面的页面图像后,对所述页面图像进行图像处理,获得所述页面图像中的按键;
信息记录单元,用于在操作所述按键后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息。
在另一种可能的实现方式中,所述页面间跳转关系建立装置还包括:
按键确认单元,用于在操作所述按键后,若未跳转到跳转页面,则确定所述按键为无效按键,删除所述按键的信息。
在另一种可能的实现方式中,所述信息记录单元,用于在使用系统命令模拟输入点击所述按键的点击指令后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息。
在另一种可能的实现方式中,所述按键获得单元,用于在获得应用软件的识别页面的页面图像后,对所述应用软件的识别页面进行边缘检测、轮廓提取或文字识别中的一项或多项,获得所述页面图像中的按键。
在另一种可能的实现方式中,所述页面间跳转关系建立装置还包括:
页面确认单元,用于在所述按键获得单元对所述页面图像进行图像处理,获得所述页面图像中的按键之前,降低所述识别页面的分辨率得到参考页面;使用所述参考页面与已经获得的所述页面图像进行像素比对,通过所述像素比对获得的精确度确定所述识别页面是否为新的页面;
所述按键获得单元,用于在所述页面确认单元确认结果为是,则对所述页面图像进行图像处理,获得所述页面图像中的按键。
在另一种可能的实现方式中,所述记录所述识别页面经所述按键跳转到所述跳转页面的信息包括:
所述信息记录单元,用于在操作所述按键后,若跳转到跳转页面,则记录所述识别页面的名称、所述跳转页面的名称、所述识别页面由所述按键跳转到所述跳转页面的跳转关系、所述识别页面与所述跳转页面之间的层级关系。
在另一种可能的实现方式中,所述页面间跳转关系建立装置还包括:
存储控制单元,用于在所述应用软件的所有页面间的逻辑关系记录完毕后,以树形数据结构存储所述应用软件的页面间的层级关系;
信息处理单元,用于确定所述识别页面在所述树形数据结构中对应的深度为所述识别页面的深度;将所述识别页面的深度作为所述识别页面的跳转复杂度。
本发明实施例三方面提供了一种页面间跳转关系建立装置,包括存储器和处理器,所述存储器用于存储程序指令,所述程序指令适于由所述处理器加载;
所述处理器,用于加载所述程序指令并执行如本发明实施例提供的任一项所述方法。
本发明实施例四方面还提供了一种存储介质,所述存储介质中存储有多条程序指令,所述程序指令适于由处理器加载并执行如本发明实施例提供的任一项所述方法。
五方面本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包含多条程序指令,所述程序指令适于由处理器加载并执行如本发明实施例提供的任一项所述方法。
本发明实施例通过应用软件页面的图像处理识别出按键,对按键操作来确定页面之间的逻辑关系;本发明实施例在不修改应用软件的情况下自动完成对应用软件页面逻辑关系的测试,不需要在应用软件中嵌入SDK,因此不受应用软件是否支持SDK影响,应用可以更为广泛。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1为本发明实施例的应用界面示意图;
图2为本发明实施例的另一应用界面示意图;
图3为本发明实施例页面跳转示意图;
图4为本发明实施例应用界面的树状结构示意图;
图5为本发明实施例系统架构示意图;
图6为本发明实施例方法流程示意图;
图7为本发明实施例方法流程示意图;
图8为本发明实施例页面像素对比示意图;
图9为本发明实施例方法流程示意图;
图10为本发明实施例页面间跳转关系建立装置结构示意图;
图11为本发明实施例页面间跳转关系建立装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
如图1和图2所示,分别为一个应用界面的举例;在图1和图2中标注了部分按键区域,这些区别并不是全部的按键区域,也可能不是可以实现页面跳转的按键;例如:图1中左下角位置的“英雄”位置没有被标注,图2中左下标注位置可能是技能界面并不会导致页面跳转。在本发明实施例中,按键是用户输入指令的接口,通常以图形或者文字的形式提示该接口的用途,用户在触摸该按键时会触发输入响应的指令。
如图3所示,是页面跳转的示意图;如果按键会导致页面跳转,那么从主界面作为一级页面,在主界面操作按键会跳转到二级页面,在二级页面操作按键可以跳转到三级页面;其中例外情况是回退按键会从下级页面返回上一级页面,可能存在按键直接从下级界面返回到主界面的情况。因此按键的操作可以建立页面跳转之间的逻辑关系。
如图4所示,为图1应用界面的树状结构,在图4中一级界面即主界面是图1所示的界面,二级界面即2级子界面包含“英雄”、“立即充值”;3级子界面则包含,“英雄”的子界面“亚瑟”、“刘禅”和“查看更多英雄介绍”;其中3级子界面的“查看更多英雄介绍”又包含4级子界面“蔡文姬”和“赵云”;2级子界面“立即充值”包含3级子界面“10点券”。
在以上举例中,本发明实施例采用图像处理手段,具体例如:图像识别、文本分析等方式识别出界页面中的按键;然后通过模拟操作这些按键来确定是不是发生了页面跳转,以及跳转到哪一个页面了。通过页面跳转关系以及操作的按键来建立页面之间的逻辑关系。
具体流程可以是:
以安卓安装包(AndroidPackage,apk)方式将测试软件安装到被测设备,通过测试软件的悬浮窗口实现对自动化识别过程的启动控制,在自动化识别过程启动后执行如下几个方面:
1、识别当前页面中的有效按键,例如图1和图2所示。
2、自动遍历游戏页面中的层级关系、跳转关系,提供当前页到指定页的跳转路径和按键序列,如图3所示。
3、生成以主页面为根节点依次向下扩展的各级页面及其前后置页的树状关系结构,实现了页面关系分层级预览,如图4所示。
基于前述要实现的几个方面,本发明实施例提供了在设备侧实现的具体方案如下:
(1)系统架构:
本发明实施例方案可以在安卓(Android)客户端或者个人计算机(personalcomputer,PC)端进行实现。在Android客户端,主要可以用于实现识别游戏页面、识别按键、模拟操作、图片存储和数据记录等功能。
Android客户端可以通过安卓调试桥(Android Debug Bridge,adb)方式将数据记录上传到PC端,PC端读取数据记录后,进行绘制页面关系树状图,然后可以对页面的层级结构的合理性进行分析。另外,对于遗漏或新增的页面或按键可以通过PC端进行配置更新。
在图5示意了上述系统架构,其中客户端可以是手机侧的Android客户端,PC端可以是用于测试数据分析用的计算机。
其中在客户端一侧,识别场景模块用于识别不同的页面,模拟按键模块用于模拟对按键的操作,保存页面模块用于保存各种页面,识别图标模块用于识别页面中的按键,写数据库(DateBase,DB)用于存储数据记录,该写DB以非实时的方式传递数据,可以通过adb方式传递;以上页面是以图片或者称为图像形式存在的。
其中在PC端一侧,读数据库模块用于读数据库中的数据记录,页面显示模块用于显示绘制的页面关系树状图;更新数据库模块用于更新数据库的数据,还可以用于对PC段进行配置更新。
(2)方法流程:
如图6所示,包括如下内容:
601:对当前页面进行截图获得页面图像;
602:判断页面图像是否为新页面图像;
具体判断是否为新页面图像的方式可以是:通过图像像素对比检查当前页面图像与数据库中的页面图像有没有相同的,如果有则表示该截图得到的页面图像已在数据库中,不是新页面图像;如果该截图得到的页面图像不在已有数据库中,那么表示是新页面图像;是新页面图像,进入603,否则结束流程;
603:存储该截图得到的页面图像;
604:识别页面图像中的按键;
605:将识别得到的按键存入数据库。
以上流程为页面图像的识别流程,如图7所示,为页面图像中的按键的有效性进行判断的方案如下:
701:获取识别页按键识别结果;
本实施例中识别页,即为前文中截图得到的页面图像;该识别页可以指某一个页面图像而不是全部的页面图像;识别结果可以使用按键识别列表来存储全部被识别为按键的信息。
702:判断是否遍历结束识别页的所有按键,如果是那么结束流程,否则进入703;
703:获取一个按键;赋值N=N+1;
本步骤是用来计数按键数量,当前N的值也可以用来对识别页中的按键进行编号;
704:判断是否已经跳转到识别页,如果是进入706,否则进入705;
705:跳转到识别页;
706:模拟点击第N个按键;
707:判断是否发生页面跳转,如果是进入709,否则进入708;
708:删除第N个按键的信息,进入702;
709:存储第N个按键的数据,进入702。
存储的第N个按键的数据可以包括:按键标识、识别页以及跳转到的页等信息。
在本实施例中,步骤702到708和709形成循环,将当前识别页的页面中所有按键,即:当前页面的按键识别列表中的所有按键,执行进行模拟点击,如果可以触发页面跳转,则视为有效按键,存储相应按键的信息;否则确定为无效按键,将无效按键的信息删除。
(3)相关技术介绍:
A、多线程页面像素对比:
在以上实施例中,需要确定某个页面是否为新的页面,可以采用页面像素比对来实现。即:在检查某个页面的页面图像是否已在数据库中时,本发明实施例可以通过页面像素对比方式,将页面图像与数据库已有图像进行像素对比,满足精确度要求则视为当前页面图像是页面识别过程数据库查询同页,否则为不同页面,如图8所示,右侧为识别页,左侧为数据库;在数据库中包含页面名称以及存放路径,使用当前页与数据库中的每个页面分别比对。
精确度是指被测量的测得值与其“真值”的接近程度,在本实施例中是指页面图像与已有图像之间,像素相同的比例;每个像素的信息可以包含像素值以及该像素值在其所在图像中的坐标值;每个像素比对过程是:使用坐标值相同的两个像素值比对,该两个像素值分别来自于识别图像和已有图像;在像素比对结束后,统计相同像素值占所有像素值的比例,即为该精确度的值。基于此可知:精确度越高那么参与比较的两幅图像越可能是同一图像;因此可以设定某一阈值,精确度超过该阈值则认为参与比较的两幅图像为同一图像。
像素比对随着数据库中图像数量增多会越来越耗时,本发明实施例可以采用如下两种方案来提高查询效率:
A1、对图像的像素的对比粒度进行调整,例如:从原始1080*1920个像素值减少到等间隔采集64*36=2304个像素值对比,精确度值设定为0.7。
A2、采用多线程查询。
多线程(multithreading)是指从软件或者硬件上实现多个线程并发执行的技术。线程是程序执行流的最小单元,用于完成某一个指定的任务。由于在本发明实施例中,存在可以并发执行的数据处理,因此可以使用多线程并发来减少耗时。例如:在像素比对过程中,数据库中有多个已有图像,那么可以使用多个线程分别执行识别页面与已有图像之间的像素比对。
另外,在本实施例中区分图像是否为新图像的技术手段还可以通过传统图像算法实现,具体可以是:对图像进行特征提取与特征匹配,根据图像的相似程度判断是否是相同页面。本实施例中采用的像素比对相比于特征提取和相似度比对而言数据处理量要更小。
B、图像识别、文字识别:
图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。文字识别,是指利用计算机识别各种不同文字的技术。
本发明实施例需要识别图像中的按键,可以结合图像识别和文字识别两种方式:
其中,图像识别可以使用图像边缘检测和轮廓提取算法,查询页面中的具有明显轮廓边缘的图像。通过对算法参数的自适应与调配查询页面中的疑似按键。
文字识别可以通过对字识别接口、文字识别算法接口的准确率和场景适用性进行了分析评估。根据不同的应用类型以及应用场景选定准确率更精确的文字识别方式。
C、模拟按键操作
在通过图像处理识别出按键后,这些按键可能是无效的按键因此需要剔除;本实施例通过模拟按键操作的方式来区分有效和无效的按键。本发明实施例可以使用Android的系统命令input来向设备发送模拟操作的命令,实现模拟按键和触屏操作。
在本实施例中,客户端模拟操作的方式还可以是:将手机连接到电脑上,通过Android自动化测试框架uiautomator,也可以能够实现对设备的模拟操作。
(4)数据存储结构:
如下表1所示,是页面的数据记录。数据记录中记录了页面的名称、跳转关系、本地路径,以及页面层级;如下表2所示是按键数据记录;按键数据中保存了按键名称,坐标,当前页和跳转页。
表1
表2
标识 | 名称 | x | y | w | h | 当前页 | 跳转页 |
... | |||||||
158 | 实战对抗 | 321 | 727 | 251 | 71 | 对战模式 | 实战对抗 |
... |
以上x、y、w、h分别是“实施对抗”这一按键的横纵坐标以及宽和高。在表2中,使用x、y、w和h可以精确表示按键的位置以及大小,方便后续模拟操作按键;另外,为了在本发明实施例减少存储的数据量,表2中可以省略w和h两个参数,仅保留x和y;此时,用x和y分别表示改按键的中心位置或者该按键所在区域任意位置的横纵坐标。在模拟操作该案件时,可以模拟点击该x和y所在的区域来触发对该按键的操作。
本发明实施例可以应用在游戏应用场景下。目前游戏引擎不唯一,游戏按键多样化的背景下,本发明实施例通过自动识别按键,然后通过自动操作按键的操作结果确定按键的有效性以及页面之间的跳转关系,可以减少自动化测试过程中的人工操作的工作量和按键难识别的问题。为自动化测试脚本编写过程提供了有效的游戏按键接口和页面关系接口。此外,本发明实施例方案在获得页面之间的逻辑关系后,可以对游戏页面设计的合理性进行评估分析,对于层级较深、跳转复杂、的页面进行定位,提出优化建议。
基于前文介绍,本发明实施例提供了一种页面间跳转关系建立方法,如图9所示,包括:
901:在获得应用软件的识别页面的页面图像后,对上述页面图像进行图像处理,获得上述页面图像中的按键;
在本发明实施例中,识别页面是相对于跳转页面而言,跳转前的的页面。识别页面和跳转页面均通过截图获得。第一幅识别页面可以在应用软件启动后截图获得,在后续操作按键后,还可以再次截图获得页面图像。因此,截图获得的每一幅图像均可以作为识别页面的页面图像。
本实施例中的图像处理包括对图像的任何处理,只要能用于识别页面图像中的按键就可以,无论是对图像本身的识别,还是对图像中的元素例如文字的文字识别或者图形识别本发明实施例均不限制,例如:约定的邮件图形,回退图形、图1中所示的“应用”文字等等。图像识别方式可以是提取按键的边缘,形似按键的轮廓就可以,还可以是识别出例如邮箱这类较为固定的图像形式,图形识别则可以是对例如回退、关闭这类具有相对固定的图形按键,文字识别则可以是对图像中存在的文字进行识别。
具体地,对上述页面图像进行图像识别,获得上述页面图像中的按键包括:对上述应用软件的识别页面进行边缘检测、轮廓提取或文字识别中的一项或多项,获得上述页面图像中的按键。
进一步地,本发明实施例提供了减少数据处理量的改进方案如下:对上述页面图像进行图像处理,获得上述页面图像中的按键之前,上述方法还包括:
降低上述识别页面的分辨率得到参考页面;
使用上述参考页面与已经获得的上述页面图像进行像素比对,通过上述像素比对获得的精确度确定上述识别页面是否为新的页面,若是则执行上述对上述页面图像进行图像处理,获得上述页面图像中的按键。
本实施例通过降低识别页面的分辨率来减少识别新页面的数据处理量,通常来说降低分辨率的降低程度要以降低分辨率后仍然能够识别文字为标准。
902:在操作上述按键后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息。
903:在操作上述按键后,若未跳转到跳转页面,则确定上述按键为无效按键,删除上述按键的信息。
由于按键是自动识别的,有可能出现错误识别的情况,例如前文图2中举例涉及的技能按键,虽然也属于按键但是并不会导致页面切换,这类按键在本发明实施例中属于无效按键;还有可能是页面布局中的比较像按键的元素被错误识别的情况;通过本实施例方案,可以删掉这些本发明实施例不关心的按键,即:无效按键。
本发明实施例通过应用软件页面的图像处理识别出按键,对按键操作来确定页面之间的逻辑关系;本发明实施例在不修改应用软件的情况下自动完成对应用软件页面逻辑关系的测试,不需要在应用软件中嵌入SDK,因此不受应用软件是否支持SDK影响,应用可以更为广泛。
本实施例通过操作按键的方式来获得按键跳转的页面,从而获得页面之间的跳转关系,以及操作哪一个按键执行从该识别页面到跳转页面的跳转,本实施例还提供了操作按键的具体实现手段如下:上述操作上述按键包括:使用系统命令模拟输入点击上述按键的点击指令。
基于前文说明,本发明实施例中的操作按键是模拟操作,并不是人工操作按键;模拟操作按键的方式处理使用系统命令外,还可以使用包括自动化测试框架在内的其他方式实现;其中,系统命令可以是Android的系统命令input;自动化测试框架可以是:Android自动化测试框架uiautomator;本发明实施例对此不作唯一性限定。
在本实施例中要建立识别页面和跳转页面之间的逻辑关系,那么具体保存的内容可以为:上述记录所述识别页面经所述按键跳转到所述跳转页面的信息包括:
记录上述识别页面的名称、上述跳转页面的名称、上述识别页面由上述按键跳转到上述跳转页面的跳转关系、上述识别页面与上述跳转页面之间的层级关系。
以上是建立逻辑关系所需要的信息,需要记录的记录数据的具体内容可以是:按键名称、按键所在页面名称即跳转页面名称,以及跳转页面名称。
为了跳转逻辑清晰,目前的应用软件跳转关系通常是树形的跳转关系,而不是图形的跳转关系,本发明实施例针对此进行了存储方式的设计如下:上述方法还包括:
在上述应用软件的所有页面间的逻辑关系记录完毕后,以树形数据结构存储上述应用软件的页面间的层级关系;
确定上述识别页面在上述树形数据结构中对应的深度为上述识别页面的深度;将上述识别页面的深度作为上述识别页面的跳转复杂度。
树形数据结构中,各节点的键值可以是页面标识,例如序号;父节点到子节点的指针可以包含父节点跳转到子节点所使用的按键名称。在使用树形数据结构存储页面间的层级关系时,每个树形数据结构的节点存储一个页面的信息;那么每个节点在该树形数据结构中的深度,即为该页面对应的深度,深度的值越大则表示到达该页面需跳转的次数,因此深度越大跳转复杂度越高;例如:在图4中,主页面在根节点,其深度为0,到达该主页面不需要跳转,因此主页面的跳转复杂度低;4级子页面“蔡文姬”深度为3,到达该页面需要从主页面跳转到2级子页面“英雄”再跳转到3级子页面“查看更多英雄介绍”再跳转到4级子页面“蔡文姬”,因此到达该页面需要跳转3次,因此“蔡文姬”所在页面的跳转复杂度较高。基于以上说明可知,如果属性数据结构的深度值越大,那么从整体上来看,该应用软件的页面间跳转复杂度越大。
本分发明实施例还提供了一种页面间跳转关系建立装置,如图10所示,包括:
按键获得单元1001,用于在获得应用软件的识别页面的页面图像后,对上述页面图像进行图像处理,获得上述页面图像中的按键;
信息记录单元1002,用于在操作上述按键后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息。
在另一种可能的实现方式中,上述页面间跳转关系建立装置还包括:
按键确认单元1003,用于在操作上述按键后,若未跳转到跳转页面,则确定上述按键为无效按键,删除上述按键的信息。
在另一种可能的实现方式中,上述信息记录单元1002,用于在使用系统命令模拟输入点击上述按键的点击指令后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息。
在另一种可能的实现方式中,上述按键获得单元1001,用于在获得应用软件的识别页面的页面图像后,对上述应用软件的识别页面进行边缘检测、轮廓提取或文字识别中的一项或多项,获得上述页面图像中的按键。
在另一种可能的实现方式中,上述页面间跳转关系建立装置还包括:
页面确认单元1004,用于在上述按键获得单元对上述页面图像进行图像处理,获得上述页面图像中的按键之前,降低上述识别页面的分辨率得到参考页面;使用上述参考页面与已经获得的上述页面图像进行像素比对,通过上述像素比对获得的精确度确定上述识别页面是否为新的页面;
上述按键获得单元1001,用于在上述页面确认单元确认结果为是,则对上述页面图像进行图像处理,获得上述页面图像中的按键。
在另一种可能的实现方式中,上述记录所述识别页面经所述按键跳转到所述跳转页面的信息包括:
上述信息记录单元1002,用于在操作上述按键后,若跳转到跳转页面,则记录上述识别页面的名称、上述跳转页面的名称、上述识别页面由上述按键跳转到上述跳转页面的跳转关系、上述识别页面与上述跳转页面之间的层级关系。
在另一种可能的实现方式中,上述页面间跳转关系建立装置还包括:
存储控制单元1005,用于在上述应用软件的所有页面间的逻辑关系记录完毕后,以树形数据结构存储上述应用软件的页面间的层级关系;
信息处理单元1006,用于确定上述识别页面在上述树形数据结构中对应的深度为上述识别页面的深度;将上述识别页面的深度作为上述识别页面的跳转复杂度。
本发明实施例还提供了一种页面间跳转关系建立装置,包括存储器和处理器,上述存储器用于存储程序指令,上述程序指令适于由上述处理器加载;
上述处理器,用于加载上述程序指令并执行如本发明实施例提供的任一项上述方法。
参见图11,图11是本申请另一实施例提供的一种页面间跳转关系建立装置的示意框图。如图所示的本实施例中的图像合成设备可以包括:一个或多个处理器1101;一个或多个输入设备1102,一个或多个输出设备1103和存储器1104。上述处理器1101、输入设备1102、输出设备1103和存储器1104通过总线1105连接。存储器1102用于存储计算机程序,该计算机程序包括程序指令,处理器1101用于执行存储器1102存储的程序指令。其中,处理器1101被配置用于调用该程序指令执行以下操作:
在获得应用软件的识别页面的页面图像后,对上述页面图像进行图像处理,获得上述页面图像中的按键;
在操作上述按键后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息。
应当理解,在本申请实施例中,所称处理器1101可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备1102可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备1103可以包括显示器(LCD等)、扬声器等。
该存储器1104可以包括只读存储器和随机存取存储器,并向处理器1101提供指令和数据。存储器1104的一部分还可以包括非易失性随机存取存储器。例如,存储器1104还可以存储设备类型的信息。
具体实现中,本申请实施例中所描述的处理器1101、输入设备1102、输出设备1103可执行本申请实施例提供的续航测试的方法的第一实施例和第二实施例中所描述的实现方式,也可执行本申请实施例所描述的图像合成设备的实现方式,在此不再赘述。
本实施例中的处理器1101可以执行前述方法实施例的方法流程。如果编码器和解码器均为软编码器和解码器,那么以上编码器和解码器的功能由程序指令被处理器1101执行实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的通信装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。上述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照本发明实施例上述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者通过上述计算机可读存储介质进行传输。上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatiledisc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-only memory,ROM)或随机存储存储器(random access memory,RAM)、磁碟或者光盘等各种可存储程序代码的介质。
Claims (14)
1.一种页面间跳转关系建立方法,其特征在于,包括:
在获得应用软件的识别页面的页面图像后,对所述页面图像进行图像处理,获得所述页面图像中的按键;
在操作所述按键后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息;
在操作所述按键后,若未跳转到跳转页面,则确定所述按键为无效按键,删除所述按键的信息。
2.根据权利要求1所述方法,其特征在于,所述操作所述按键包括:
使用系统命令模拟输入点击所述按键的点击指令。
3.根据权利要求1所述方法,其特征在于,所述对所述页面图像进行图像识别,获得所述页面图像中的按键包括:
对所述应用软件的识别页面进行边缘检测、轮廓提取或文字识别中的一项或多项,获得所述页面图像中的按键。
4.根据权利要求1至3任意一项所述方法,其特征在于,在所述对所述页面图像进行图像处理,获得所述页面图像中的按键之前,所述方法还包括:
降低所述识别页面的分辨率得到参考页面;
使用所述参考页面与已经获得的所述页面图像进行像素比对;
若所述像素比对获得的精确度超过阈值,则确定所述识别页面为新的页面,执行所述对所述页面图像进行图像处理,获得所述页面图像中的按键。
5.根据权利要求1所述方法,其特征在于,所述记录所述识别页面经所述按键跳转到所述跳转页面的信息包括:
记录所述识别页面的名称、所述跳转页面的名称、所述识别页面由所述按键跳转到所述跳转页面的跳转关系、所述识别页面与所述跳转页面之间的层级关系。
6.根据权利要求5所述方法,其特征在于,所述方法还包括:
在所述应用软件的所有页面间的逻辑关系记录完毕后,以树形数据结构存储所述应用软件的页面间的层级关系;
确定所述识别页面在所述树形数据结构中对应的深度为所述识别页面的深度;将所述识别页面的深度作为所述识别页面的跳转复杂度。
7.一种页面间跳转关系建立装置,其特征在于,包括:
按键获得单元,用于在获得应用软件的识别页面的页面图像后,对所述页面图像进行图像处理,获得所述页面图像中的按键;
信息记录单元,用于在操作所述按键后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息;
按键确认单元,用于在操作所述按键后,若未跳转到跳转页面,则确定所述按键为无效按键,删除所述按键的信息。
8.根据权利要求7所述装置,其特征在于,
所述信息记录单元,用于在使用系统命令模拟输入点击所述按键的点击指令后,若跳转到跳转页面;则记录所述识别页面经所述按键跳转到所述跳转页面的信息。
9.根据权利要求7所述装置,其特征在于,
所述按键获得单元,用于在获得应用软件的识别页面的页面图像后,对所述应用软件的识别页面进行边缘检测、轮廓提取或文字识别中的一项或多项,获得所述页面图像中的按键。
10.根据权利要求7至9任意一项所述装置,其特征在于,所述装置还包括:
页面确认单元,用于在所述按键获得单元对所述页面图像进行图像处理,获得所述页面图像中的按键之前,降低所述识别页面的分辨率得到参考页面;使用所述参考页面与已经获得的所述页面图像进行像素比对,通过所述像素比对获得的精确度确定所述识别页面是否为新的页面;
所述按键获得单元,用于在所述页面确认单元确认结果为是,则对所述页面图像进行图像处理,获得所述页面图像中的按键。
11.根据权利要求7所述装置,其特征在于,所述记录所述识别页面经所述按键跳转到所述跳转页面的信息包括:
所述信息记录单元,用于在操作所述按键后,若跳转到跳转页面,则记录所述识别页面的名称、所述跳转页面的名称、所述识别页面由所述按键跳转到所述跳转页面的跳转关系、所述识别页面与所述跳转页面之间的层级关系。
12.根据权利要求11所述装置,其特征在于,所述装置还包括:
存储控制单元,用于在所述应用软件的所有页面间的逻辑关系记录完毕后,以树形数据结构存储所述应用软件的页面间的层级关系;
信息处理单元,用于确定所述识别页面在所述树形数据结构中对应的深度为所述识别页面的深度;将所述识别页面的深度作为所述识别页面的跳转复杂度。
13.一种页面间跳转关系建立装置,其特征在于,包括存储器和处理器,所述存储器用于存储程序指令,所述程序指令适于由所述处理器加载;
所述处理器,用于加载所述程序指令并执行如权利要求1至6任一项所述方法。
14.一种存储介质,其特征在于,所述存储介质中存储有多条程序指令,所述程序指令适于由处理器加载并执行如权利要求1至6任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811039512.3A CN109241485A (zh) | 2018-09-06 | 2018-09-06 | 一种页面间跳转关系建立方法,及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811039512.3A CN109241485A (zh) | 2018-09-06 | 2018-09-06 | 一种页面间跳转关系建立方法,及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109241485A true CN109241485A (zh) | 2019-01-18 |
Family
ID=65067427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811039512.3A Pending CN109241485A (zh) | 2018-09-06 | 2018-09-06 | 一种页面间跳转关系建立方法,及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109241485A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008110A (zh) * | 2019-01-28 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 用户界面的测试方法及装置 |
CN110673772A (zh) * | 2019-10-10 | 2020-01-10 | 北京无限光场科技有限公司 | 页面返回方法、装置、电子设备及计算机可读介质 |
CN110781925A (zh) * | 2019-09-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 软件页面的分类方法、装置、电子设备及存储介质 |
CN113221912A (zh) * | 2020-01-21 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 一种操作按键识别方法、装置、设备及介质 |
WO2022188713A1 (zh) * | 2021-03-12 | 2022-09-15 | 华为技术有限公司 | 一种页面特征的保存方法、页面跳转方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105867897A (zh) * | 2015-12-07 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 页面跳转分析方法及装置 |
CN105930536A (zh) * | 2016-06-21 | 2016-09-07 | 北京小米移动软件有限公司 | 索引建立方法、页面跳转方法及装置 |
CN107622008A (zh) * | 2016-07-14 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 一种应用页面的遍历方法和装置 |
CN108228421A (zh) * | 2017-12-26 | 2018-06-29 | 东软集团股份有限公司 | 数据监测方法、装置、计算机及存储介质 |
-
2018
- 2018-09-06 CN CN201811039512.3A patent/CN109241485A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105867897A (zh) * | 2015-12-07 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 页面跳转分析方法及装置 |
CN105930536A (zh) * | 2016-06-21 | 2016-09-07 | 北京小米移动软件有限公司 | 索引建立方法、页面跳转方法及装置 |
CN107622008A (zh) * | 2016-07-14 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 一种应用页面的遍历方法和装置 |
CN108228421A (zh) * | 2017-12-26 | 2018-06-29 | 东软集团股份有限公司 | 数据监测方法、装置、计算机及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008110A (zh) * | 2019-01-28 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 用户界面的测试方法及装置 |
CN110008110B (zh) * | 2019-01-28 | 2022-07-22 | 创新先进技术有限公司 | 用户界面的测试方法及装置 |
CN110781925A (zh) * | 2019-09-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 软件页面的分类方法、装置、电子设备及存储介质 |
CN110781925B (zh) * | 2019-09-29 | 2023-03-10 | 支付宝(杭州)信息技术有限公司 | 软件页面的分类方法、装置、电子设备及存储介质 |
CN110673772A (zh) * | 2019-10-10 | 2020-01-10 | 北京无限光场科技有限公司 | 页面返回方法、装置、电子设备及计算机可读介质 |
CN110673772B (zh) * | 2019-10-10 | 2021-07-02 | 北京无限光场科技有限公司 | 页面返回方法、装置、电子设备及计算机可读介质 |
CN113221912A (zh) * | 2020-01-21 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 一种操作按键识别方法、装置、设备及介质 |
WO2022188713A1 (zh) * | 2021-03-12 | 2022-09-15 | 华为技术有限公司 | 一种页面特征的保存方法、页面跳转方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241485A (zh) | 一种页面间跳转关系建立方法,及装置 | |
CN105955889B (zh) | 一种图形界面自动化测试方法 | |
CN107025165A (zh) | 游戏自动化测试方法及相关装置 | |
US10657036B2 (en) | Determining visual testing coverages | |
CN105988924A (zh) | 一种非侵入式嵌入式软件图形用户界面自动化测试方法 | |
CN103065134A (zh) | 一种具有提示信息的指纹识别装置和方法 | |
CN109325538A (zh) | 目标检测方法、装置和计算机可读存储介质 | |
WO2020228283A1 (zh) | 特征提取方法、装置及计算机可读存储介质 | |
JP2010002370A (ja) | パターン抽出プログラム、方法及び装置 | |
CN106803039B (zh) | 一种恶意文件的同源判定方法及装置 | |
CN110245697A (zh) | 一种表面脏污检测方法、终端设备及存储介质 | |
CN104462979A (zh) | 一种应用程序的自动化动态检测方法及装置 | |
CN106874947A (zh) | 用于确定文字形近度的方法和设备 | |
CN111414948A (zh) | 目标对象检测方法和相关装置 | |
Saar et al. | Browserbite: cross‐browser testing via image processing | |
CN110287767A (zh) | 可防攻击的活体检测方法、装置、计算机设备及存储介质 | |
CN117173568A (zh) | 目标检测模型训练方法和目标检测方法 | |
CN112633341A (zh) | 一种界面测试方法、装置、计算机设备和存储介质 | |
CN109389050A (zh) | 一种流程图连接关系识别方法 | |
CN106910207B (zh) | 用于识别图像局部区域的方法、装置及终端设备 | |
CN111858331A (zh) | 前端控件覆盖度检测方法、装置以及设备 | |
CN115905016A (zh) | 一种BIOS Setup搜索功能测试方法、装置、电子设备及存储介质 | |
CN103778210B (zh) | 一种待分析文件的文件具体类型的判断方法及装置 | |
CN113704125A (zh) | 基于图形用户界面的黑盒自动化测试方法 | |
KR102217092B1 (ko) | 애플리케이션의 품질 정보 제공 방법 및 장치 |
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 |