CN113642642B - 控件识别方法及装置 - Google Patents

控件识别方法及装置 Download PDF

Info

Publication number
CN113642642B
CN113642642B CN202110929884.9A CN202110929884A CN113642642B CN 113642642 B CN113642642 B CN 113642642B CN 202110929884 A CN202110929884 A CN 202110929884A CN 113642642 B CN113642642 B CN 113642642B
Authority
CN
China
Prior art keywords
control
image
identified
page
attribute information
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
Application number
CN202110929884.9A
Other languages
English (en)
Other versions
CN113642642A (zh
Inventor
卢凯
杨赛君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202110929884.9A priority Critical patent/CN113642642B/zh
Publication of CN113642642A publication Critical patent/CN113642642A/zh
Application granted granted Critical
Publication of CN113642642B publication Critical patent/CN113642642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了一种控件识别方法。该方法包括:获取页面中包含的所有控件的第一属性信息;判断所述第一属性信息中是否包含有待识别控件的第二属性信息;若所述第一属性中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件;若所述第一属性中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。本申请可提高控件识别的准确度。

Description

控件识别方法及装置
技术领域
本申请涉及测试技术领域,尤其涉及一种控件识别方法及装置。
背景技术
开发人员在开发出移动终端的应用程序(Application,App)的人机交互界面(User Interface,UI)之后,通常需要对UI进行测试,测试UI是否能够实现预设功能。一个UI通常由多个控件元素组成,在UI测试过程中,需要识别UI的控件元素。现有技术中,通常是通过控件元素的身份标识(ID)、名称以及类型进行识别;或者基于控件在屏幕上的可扩展标记语言路径语言(Xml Path Language,XPath)的绝对路径与相对路径进行识别。其中,XPath是一种用来确定可扩展标记语言(Extensible Markup Language,XML)文档中某部分位置的语言。XPath使用路径表达式来选取XML文档中的节点或者节点集,路径表达式是从一个XML节点(当前的上下文节点)到另一个节点、或一组节点的书面步骤顺序。
然而,发明人发现,现有技术在测试App的UI时,各种控件识别方法在面对多种测试场景时,无法准确识别UI的控件元素。
发明内容
有鉴于此,现提供一种控件识别方法、装置、计算机设备及计算机可读存储介质,以解决现有技术中在测试App的UI时无法准确识别UI的控件元素的问题。
本申请提供了一种控件识别方法,包括:
获取页面中包含的所有控件的第一属性信息;
判断所述第一属性信息中是否包含有待识别控件的第二属性信息;
若所述第一属性中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件;
若所述第一属性中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
可选地,所述采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件包括:
对所述页面进行截图,得到第一图像;
采用基于像素的图像匹配算法从所述第一图像中查找与预设的第二图像相匹配的第一区域,其中,所述第二图像为包含所述待识别控件的图像;
若采用基于像素的图像匹配算法未找到与所述第二图像相匹配的第一区域,则采用基于特征点的图像匹配算法从所述第一图像中查找与所述第二图像相匹配的第二区域,并将满足预设条件的第二区域作为包含所述待识别控件的区域。
可选地,所述若采用基于特征点的图像匹配算法从所述第一图像中查找与所述第二图像相匹配的第二区域,并将满足预设条件的第二区域作为包含所述待识别控件的区域包括:
若采用基于像素的图像匹配算法未从所述第一图像中找出与所述第二图像的相似度值大于预设阈值的第一区域时,采用基于特征点的图像匹配算法从所述第一图像中找出与所述第二图像相匹配的第二区域;
分别根据所述第二区域与所述第二图像包含的多个特征点构建对应的特征点矩阵;
计算所述第二区域的特征点矩阵与所述第二图像的特征点矩阵的归一化方差,并将所述归一化方差作为所述第二区域与所述第二图像的第二相似度值;
若所述第二相似度值大于第二预设阈值,则将所述第二区域作为包含所述待识别控件的区域。
可选地,所述采用基于特征点的图像匹配算法从所述第一图像中找出与所述第二图像相匹配的第二区域包括:
分别对所述第一图像与所述第二图像进行特征提取,得到特征点;
采用基于特征点的图像匹配算法从所述第一图像中的特征点中找到与所述第二图像中的特征点相匹配的特征点对;
判断找出的特征点对数量是否大于预设值;
若所述特征点对数量大于所述预设值,则根据找到的特征点对确定所述第一图像与所述第二图像相匹配的第二区域。
可选地,所述待识别控件具有标识信息,所述采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件包括:
若所述第二属性信息中包含有所述待识别控件的标识信息,则采用标识信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件,其中,所述标识信息用于唯一标识不同的控件。
可选地,所述待识别控件中包含有文本信息,所述采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件还包括:
若所述第二属性信息中包含有所述待识别控件的文本信息,则采用文本信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件,其中,所述文本信息用于唯一标识不同的控件。
可选地,所述采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件还包括:
若所述第二属性信息中未包含有所述标识信息,也未包含有所述文本信息,则采用XPath的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
本申请还提供了一种控件识别装置,包括:
获取模块,用于获取页面中包含的所有控件的第一属性信息;
判断模块,用于判断所述第一属性信息中是否包含有待识别控件的第二属性信息;
第一识别模块,用于若所述第一属性中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件;
第二识别模块,用于若所述第一属性中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本实施例的控件识别方法通过在所述第一属性中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别;在所述第一属性中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,从而很好地将图像识别方式与属性识别方式结合起来,提高了控件识别的准确度。
附图说明
图1为本申请实施例的控件识别方法的环境示意图;
图2为本申请所述的控件识别方法的一种实施例的流程图;
图3为本申请一实施方式中的所述采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件的步骤细化流程示意图;
图4为本申请一实施方式中若采用基于特征点的图像匹配算法从所述第一图像中查找与所述第二图像相匹配的第二区域,并将满足预设条件的第二区域作为包含所述待识别控件的区域的步骤细化流程示意图;
图5为本申请一实施方式中采用基于特征点的图像匹配算法从所述第一图像中找出与所述第二图像相匹配的第二区域的步骤细化流程示意图;
图6为本申请所述的控件识别装置的一种实施例的程序模块图;
图7为本申请实施例提供的执行控件识别方法的计算机设备的硬件结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本申请的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
图1示意性示出了根据本申请实施例的控件识别方法的应用环境示意图。在示例性的实施例中,该应用环境的系统可包括终端设备10、服务器20。其中,终端设备10与服务器20形成无线或有线连接。终端设备10可以为手机、iPAD,平板电脑等。服务器20可以为一台服务器或多台服务器组成的服务器集群或云计算中心等,具体此处不作限定。终端设备10中可以运行上述控件识别方法。
需要说明的是,本实施例中的控件识别方法可以应用于UI(User interface,用户界面)的自动化测试中。
其中,UI自动化测试指的是以代码方式来模拟用户手动操作用户界面,并实现自动操作和验证用户界面功能布局是否合理,整体风格是否一致和各个控件的放置位置是否符合客户使用习惯、操作是否便捷,导航是否简单易懂,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等等的一种自动化测试手段。
参阅图2,其为本申请一实施例的控件识别方法的流程示意图。本可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。从图中可以看出,本实施例中所提供的控件识别方法包括:
步骤S20、获取页面中包含的所有控件的第一属性信息。
具体地,页面中可以仅仅包括待识别控件,也可以包括除所述待识别控件之外的其他控件。在本实施例中,可以从页面代码中获取所有控件的第一属性信息。
其中,控件是指对数据和方法的封装。控件可以有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件的一些简单而可见的功能。
在本实施例中,每一个控件可以包括如下属性信息中的一种或者多种:
Name属性:用来标识一个控件的名称。
Text属性:用来设置或返回标签控件中显示的文本信息。
AutoSize属性:用来获取或设置一个值,该值指示是否自动调整控件的大小以完整显示其内容。取值为true时,控件将自动调整到刚好能容纳文本时的大小,取值为false时,控件的大小为设计时的大小。默认值为false。
Anchor属性:用来确定此控件与其容器控件的固定关系的。所谓容器控件指的是这样一种情况:往往在控件之中还有一个控件,例如最典型的就是窗体控件中会包含很多的控件,像标签控件、文本框等。
BackColor属性:用来获取或设置控件的背景色。当该属性值设置为Color.Transparent时,标签将透明显示,即背景色不再显示出来。
Enabled属性:用来设置或返回控件的状态。值为true时允许使用控件,值为false时禁止使用控件,此时标签呈暗淡色,一般在代码中设置。
TabIndex属性:用来设置或返回对象的Tab键顺序。当界面中有多个控件时,我们需要控制空间的Tab切换顺序,否则我们按Tab键时,控件将会杂乱无章的跳动。可以设置TabIndex属性,控制Tab键顺序。
需要说明是,每一个控件除了包括上述属性信息之外,还可以包括其他属性信息,比如,包括resource-id、xpath等。
其中,resource-id是安卓在布局文件中唯一标识控件的id。
xpath是一种用来确定可扩展标记语言(Extensible Markup Language,XML)文档中某部分位置的语言。XPath使用路径表达式来选取XML文档中的节点或者节点集,路径表达式是从一个XML节点(当前的上下文节点)到另一个节点、或一组节点的书面步骤顺序。
步骤S21,判断所述第一属性信息中是否包含有待识别控件的第二属性信息。
具体地,所述第二属性信息为用于区分不同控件的属性信息,该第二属性信息可以为用于唯一标识所述待识别控件的标识信息,比如为所述待识别控件的resource-id。
在另一实施方式中,所述第二属性信息也可以为用于唯一识别不同控件的文本信息,比如,所述待识别控件中包含有文本信息“创建”,则文本信息“创建”即可以作为所述第二属性信息。
在本实施例中,可以预先在存储单元中存储待识别控件的第二属性信息,当从页面中获取到所有控件的第一属性信息之后,即可以将获取到的第一属性信息与该存储单元中存储的第二属性信息进行匹配处理,以判断所述第一属性信息是否包含有待识别控件的第二属性信息。
步骤S22,若所述第一属性中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
具体地,所述图像匹配的控件识别方式指的是通过图像匹配识别的方式从页面中识别出所述待识别控件。
在本实施例中,该图像匹配识别方式可以采用传统的图像匹配识别方式,比如,基于模板匹配模型的图像识别方式。在另一实施方式中,也可以采用基于深度学习技术的图像匹配识别技术进行实现,在本实施例中不作限定。
其中,图像匹配识别指的是根据图像内容、特征、结构、关系、纹理及灰度等的对应关系,通过对图像相似性和一致性进行分析,以寻求相似目标图像的方法。
在一示例性的实施方式中,参照图3,所述采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件的步骤可以包括:
步骤S30,对所述页面进行截图,得到第一图像。
具体地,通过对包含有待识别控件的页面进行截图的方式,得到第一图像。
步骤S31,采用基于像素的图像匹配算法从所述第一图像中查找与预设的第二图像相匹配的第一区域,其中,所述第二图像为包含所述待识别控件的图像。
具体地,所述基于像素的图像匹配算法可以是基于灰度的图像匹配算法,其中,基于灰度的图像匹配算法指的是以模板图像的尺寸作为窗口在第一图像中进行滚动的方式来比较各个窗口图像与模板图像的相似度,在窗口图像与模板图像的相似度值满足预设条件时,即可以将该窗口图像作为匹配的图像。在本实施例中,该基于像素的图像匹配算法可以为平均绝对差算法(MAD)、绝对误差和算法(SAD)、误差平方和算法(SSD)、平均误差平方和算法(MSD)、归一化积相关算法(NCC)、序贯相似性检测算法(SSDA)、hadamard变换算法(SATD)等,在本实施例中不作限定。
需要说明的是,本实施例中的窗口图像指的是在第一图像中抠出的具有与所述第二图像(模板图像)一样尺寸的图像。
在一具体实施方式中,在查找第一区域时,可以依次查找各个窗口图像与所述第二图像的相似度值,若当前比较的窗口图像与所述第二图像的相似度值大于第一预设阈值,则可以将该窗口图像作为与所述第二图像相匹配的第一区域。
其中,第一预设阈值是预先设定的,该第一预设阈值也可以根据实际情况进行修改与设定,比如,该第一预设阈值为99%。
作为示例,当从第一图像中找到相似度值大于99%的第一区域时,即可以将该第一区域作为包含所述待识别控件的区域,并在找到该第一区域后,可以输出该第一区域在所述第一图像中的位置,以便后续在进行UI自动化测试时可以根据该位置来模拟点击该待识别控件。
步骤S32,若采用基于像素的图像匹配算法未找到与所述第二图像相匹配的第一区域,则采用基于特征点的图像匹配算法从所述第一图像中查找与所述第二图像相匹配的第二区域,并将满足预设条件的第二区域作为包含所述待识别控件的区域。
具体地,当采用基于像素的图像匹配算法未找到与所述第二图像相匹配的第一区域时,比如,采用基于像素的图像匹配算法未从第一图像中找到与所述第二图像的相似度值大于99%的第一区域,则可以进一步通过采用基于特征点的图像匹配算法从所述第一图像中查找与所述第二图像相匹配的第二区域,并将满足预设条件的第二区域作为包含所述待识别控件的区域。
其中,特征点是图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点(即两个边缘的交点)。所述基于特征点的图像匹配算法可以为SIFT算法、SURF算法等。
SIFT(Scale Invariant Feature Transform,尺度不变特征变换)算法是2004年由加拿大教授David G.Lowe提出的。SIFT特征对旋转、尺度缩放、亮度变化等保持不变性,是一种非常稳定的局部特征。
SURF(Speeded Up Robust Features,加速稳健特征)是在SIFT算法的基础上提出的,主要针对SIFT算法运算速度慢,计算量大的缺点进行了改进。
所述预设条件是预先设定的用于判定当前的第二区域是否可以作为包含所述待识别控件的区域的条件。比如,所述预设条件为第二区域与第二图像的相似度值大于第二预设阈值。
在一示例性的实施方式中,参照图4,所述若采用基于特征点的图像匹配算法从所述第一图像中查找与所述第二图像相匹配的第二区域,并将满足预设条件的第二区域作为包含所述待识别控件的区域可以包括:
步骤S40,若采用基于像素的图像匹配算法未从所述第一图像中找出与所述第二图像的第一相似度值大于预设阈值的第一区域时,采用基于特征点的图像匹配算法从所述第一图像中找出与所述第二图像相匹配的第二区域。
具体地,通过基于特征点的图像匹配算法从所述第一图像中找出的与所述第二图像相匹配的第二区域可能存在一个或多个。
在一示例性的实施方式中,参照图5,所述采用基于特征点的图像匹配算法从所述第一图像中找出与所述第二图像相匹配的第二区域包括:
步骤S50,分别对所述第一图像与所述第二图像进行特征提取,得到特征点。
具体地,可以先通过基于特征点的图像匹配算法从第一图像与第二图像中分别提取出其中包含的各个特征点。
可以理解的是,在另一实施方式中,也可以预先对第二图像进行特征点提取,并将提取到的特征点进行保存,以便后续在进行特征点匹配的过程中,可以从中获取特征点。
步骤S51,采用基于特征点的图像匹配算法从所述第一图像中的特征点中找到与所述第二图像中的特征点相匹配的特征点对。
具体地,在得到第一图像与第二图像的特征点之后,可以将第一图像中的特征点与第二图像中的特征点进行一一匹配,以从出找到匹配的特征点对。
步骤S52,判断找出的特征点对数量是否大于预设值。
具体地,所述预设值是预先设定的,该预设值也可以根据实际情况进行设定与修改,比如,所述预设值为5。
步骤S53,若所述特征点对数量大于所述预设值,则根据找到的特征点对确定所述第一图像与所述第二图像相匹配的第二区域。
具体地,在找到所有的特征点对后,即可以根据找到的特征点对来确定与第二图像相匹配的第二区域。具体而言,可以将所有特征点对中的第一图像中的特征点连接起来,并将该连接起来的区域作为所述第二区域,在另一实施方式中,也可以将恰好包含有该所有特征点对中的第一图像中的特征点的区域作为所述第二区域。
步骤S41,分别根据所述第二区域与所述第二图像包含的多个特征点构建对应的特征点矩阵。
具体地,可以对第二区域与第二图像中的多个特征点进行特征点矩阵的构建,以便可以根据构建的特征点矩阵来确定两者之间的相似度。
步骤S42,计算所述第二区域的特征点矩阵与所述第二图像的特征点矩阵的归一化方差,并将所述归一化方差作为所述第二区域与所述第二图像的第二相似度值。
具体地,所述归一化方差是指将均方的表达式经过变换,化为无量纲的表达式,成为标量。
步骤S43,若所述第二相似度值大于第二预设阈值,则将所述第二区域作为包含所述待识别控件的区域。
具体地,所述第二预设阈值也是预先设定的值,其可以和第一预设阈值相同,也可以和第一预设阈值不同,在本实施例中不作限定。同理,所述第二预设阈值也可以根据实际情况进行设定与调整,比如,所述第二预设阈值为99.5%。
作为示例,当从第一图像中找到相似度值大于99.5%的第二区域时,即可以将该第二区域作为包含所述待识别控件的区域,并在找到该第二区域后,可以输出该第二区域在所述第一图像中的位置,以便后续在进行UI自动化测试时可以根据该位置来模拟点击该待识别控件。
本实施例中,通过采用归一化方差的方式作为确定第二区域与第二图像的相似度值,可以提高了基于特征点的控件识别方法的准确度。
步骤S23,若所述第一属性中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
具体地,当第一属性中包含有第二属性信息,可以根据第二属性信息的类别来采用对应的控件识别方式对页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
在一示例性的实施方式中,当待识别控件具有标识信息时,所述采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件包括:
若所述第二属性信息中包含有所述待识别控件的标识信息,则采用标识信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件,其中,所述标识信息用于唯一标识不同的控件。
具体地,标识信息匹配的控件识别方式为通过将第二属性中的标识信息与待识别控件的标识信息进行比较的方式来识别待识别控件。
作为示例,假设待识别控件的标识信息为“resource-id=aa”,则当发现第二属性中包含有resource-id=aa时,即可以采用标识信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。具体而言,可以根据该标识信息找到所述待识别控件,之后根据该待识别控件的布局文件找到该待识别控件在页面中的位置,以便可以根据该位置来在后续对该待识别控件进行操作。
在一示例性的实施方式中,当待识别控件中包含有文本信息,所述采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件还包括:
若所述第二属性信息中包含有所述待识别控件的文本信息,则采用文本信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件,其中,所述文本信息用于唯一标识不同的控件。
具体地,文本信息匹配的控件识别方式为通过将第二属性中的文本信息与待识别控件的文本信息进行比较的方式来识别待识别控件。
作为示例,假设待识别控件的文本信息为“创建”则当发现第二属性中包含有“创建”时,即可以采用文本信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。具体而言,可以根据该文本信息找到所述待识别控件,之后根据该待识别控件的布局文件找到该待识别控件在页面中的位置,以便可以根据该位置来在后续对该待识别控件进行操作。
在一示例性的实施方式中,所述采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件还包括:
若所述第二属性信息中未包含有所述标识信息,也未包含有所述文本信息,则采用XPath的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
具体地,当第二属性信息中既没有包括所述标识信息,也未包含有所述文本信息,为了提高待识别控件的识别率,在本实施例中可以采用XPath的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
其中,XPath的控件识别方式是基于待识别控件在屏幕上的可扩展标记语言路径语言(Xml Path Language,XPath)的绝对路径与相对路径进行识别的方式。
在另一实施方式中,当第二属性信息中既没有包括所述标识信息,也未包含有所述文本信息,且包含有待识别控件的页面会经常发生变化时,则为了提高待识别控件的识别率,可以不采用XPath的控件识别方式对所述页面中包含的控件进行识别,而采用所述预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
本实施例中,通过在所述第一属性中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别;在所述第一属性中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,从而很好地将图像识别方式与属性识别方式结合起来,提高了控件识别的准确度。
参阅图6所示,是本申请控件识别装置60一实施例的程序模块图。
本实施例中,所述控件识别装置60包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本申请各实施例的控件识别功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,控件识别装置60可以被划分为一个或多个模块,具体可以划分的模块如下:
获取模块61,用于获取页面中包含的所有控件的第一属性信息;
判断模块62,用于判断所述第一属性信息中是否包含有待识别控件的第二属性信息;
第一识别模块63,用于若所述第一属性中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件;
第二识别模块64,用于若所述第一属性中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
在一示例性的实施方式中,所述第一识别模块63,还用于对所述页面进行截图,得到第一图像;采用基于像素的图像匹配算法从所述第一图像中查找与预设的第二图像相匹配的第一区域,其中,所述第二图像为包含所述待识别控件的图像;若采用基于像素的图像匹配算法未找到与所述第二图像相匹配的第一区域,则采用基于特征点的图像匹配算法从所述第一图像中查找与所述第二图像相匹配的第二区域,并将满足预设条件的第二区域作为包含所述待识别控件的区域。
在一示例性的实施方式中,所述第一识别模块63,还用于若采用基于像素的图像匹配算法未从所述第一图像中找出与所述第二图像的第一相似度值大于预设阈值的第一区域时,采用基于特征点的图像匹配算法从所述第一图像中找出与所述第二图像相匹配的第二区域;分别根据所述第二区域与所述第二图像包含的多个特征点构建对应的特征点矩阵;计算所述第二区域的特征点矩阵与所述第二图像的特征点矩阵的归一化方差,并将所述归一化方差作为所述第二区域与所述第二图像的第二相似度值;若所述第二相似度值大于第二预设阈值,则将所述第二区域作为包含所述待识别控件的区域。
在一示例性的实施方式中,所述第一识别模块63,还用于分别对所述第一图像与所述第二图像进行特征提取,得到特征点;采用基于特征点的图像匹配算法从所述第一图像中的特征点中找到与所述第二图像中的特征点相匹配的特征点对;判断找出的特征点对数量是否大于预设值;若所述特征点对数量大于所述预设值,则根据找到的特征点对确定所述第一图像与所述第二图像相匹配的第二区域。
在一示例性的实施方式中,待识别控件具有标识信息,第二识别模块64,还用于若所述第二属性信息中包含有所述待识别控件的标识信息,则采用标识信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件,其中,所述标识信息用于唯一标识不同的控件。
在一示例性的实施方式中,所述待识别控件中包含有文本信息,第二识别模块64,还用于若所述第二属性信息中包含有所述待识别控件的文本信息,则采用文本信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件,其中,所述文本信息用于唯一标识不同的控件。
在一示例性的实施方式中,第二识别模块64,还用于若所述第二属性信息中未包含有所述标识信息,也未包含有所述文本信息,则采用XPath的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
本实施例中,通过在所述第一属性中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别;在所述第一属性中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,从而很好地将图像识别方式与属性识别方式结合起来,提高了控件识别的准确度。
图7示意性示出了根据本申请实施例的适于实现控件识别方法的计算机设备7的硬件架构示意图。本实施例中,计算机设备7是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图7所示,计算机设备7至少包括但不限于:可通过系统总线相互通信链接存储器120、处理器121、网络接口122。其中:
存储器120至少包括一种类型的计算机可读存储介质,该可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备7的内部存储模块,例如该计算机设备7的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备7的外部存储设备,例如该计算机设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器120还可以既包括计算机设备7的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备7的操作系统和各类应用软件,例如控件识别方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器121在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其它控件识别芯片。该处理器121通常用于控制计算机设备7的总体操作,例如执行与计算机设备7进行数据交互或者通信相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
网络接口122可包括无线网络接口或有线网络接口,该网络接口122通常用于在计算机设备7与其它计算机设备之间建立通信链接。例如,网络接口122用于通过网络将计算机设备7与外部终端相连,在计算机设备7与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图7仅示出了具有部件120~122的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器120中的控件识别方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本申请。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的控件识别方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的控件识别方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (9)

1.一种控件识别方法,其特征在于,包括:
获取页面中包含的所有控件的第一属性信息,所述第一属性信息为从所述页面的页面代码中获取到的;
判断所述第一属性信息中是否包含有待识别控件的第二属性信息;
若所述第一属性信息中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件;
若所述第一属性信息中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
2.根据权利要求1所述的控件识别方法,其特征在于,所述采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件包括:
对所述页面进行截图,得到第一图像;
采用基于像素的图像匹配算法从所述第一图像中查找与预设的第二图像相匹配的第一区域,其中,所述第二图像为包含所述待识别控件的图像;
若采用基于像素的图像匹配算法未找到与所述第二图像相匹配的第一区域,则采用基于特征点的图像匹配算法从所述第一图像中查找与所述第二图像相匹配的第二区域,并将满足预设条件的第二区域作为包含所述待识别控件的区域。
3.根据权利要求2所述的控件识别方法,其特征在于,所述采用基于特征点的图像匹配算法从所述第一图像中查找与所述第二图像相匹配的第二区域,并将满足预设条件的第二区域作为包含所述待识别控件的区域包括:
若采用基于像素的图像匹配算法未从所述第一图像中找出与所述第二图像的第一相似度值大于第一预设阈值的第一区域时,采用基于特征点的图像匹配算法从所述第一图像中找出与所述第二图像相匹配的第二区域;
分别根据所述第二区域与所述第二图像包含的多个特征点构建对应的特征点矩阵;
计算所述第二区域的特征点矩阵与所述第二图像的特征点矩阵的归一化方差,并将所述归一化方差作为所述第二区域与所述第二图像的第二相似度值;
若所述第二相似度值大于第二预设阈值,则将所述第二区域作为包含所述待识别控件的区域。
4.根据权利要求3所述的控件识别方法,其特征在于,所述采用基于特征点的图像匹配算法从所述第一图像中找出与所述第二图像相匹配的第二区域包括:
分别对所述第一图像与所述第二图像进行特征提取,得到特征点;
采用基于特征点的图像匹配算法从所述第一图像中的特征点中找到与所述第二图像中的特征点相匹配的特征点对;
判断找出的特征点对数量是否大于预设值;
若所述特征点对数量大于所述预设值,则根据找到的特征点对确定所述第一图像与所述第二图像相匹配的第二区域。
5.根据权利要求1所述的控件识别方法,其特征在于,所述待识别控件具有标识信息,所述采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件包括:
若所述第二属性信息中包含有所述待识别控件的标识信息,则采用标识信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件,其中,所述标识信息用于唯一标识不同的控件。
6.根据权利要求1所述的控件识别方法,其特征在于,所述待识别控件中包含有文本信息,所述采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件还包括:
若所述第二属性信息中包含有所述待识别控件的文本信息,则采用文本信息匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件,其中,所述文本信息用于唯一标识不同的控件。
7.一种控件识别装置,其特征在于,包括:
获取模块,用于获取页面中包含的所有控件的第一属性信息,所述第一属性信息为从所述页面的页面代码中获取到的;
判断模块,用于判断所述第一属性信息中是否包含有待识别控件的第二属性信息;
第一识别模块,用于若所述第一属性信息中未包含所述待识别控件的第二属性信息,则采用预设的图像匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件;
第二识别模块,用于若所述第一属性信息中包含有所述待识别控件的第二属性信息,则采用与所述第二属性信息相匹配的控件识别方式对所述页面中包含的控件进行识别,以识别出所述页面中包含的所述待识别控件。
8.一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至6任一项所述的方法的步骤。
CN202110929884.9A 2021-08-13 2021-08-13 控件识别方法及装置 Active CN113642642B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110929884.9A CN113642642B (zh) 2021-08-13 2021-08-13 控件识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110929884.9A CN113642642B (zh) 2021-08-13 2021-08-13 控件识别方法及装置

Publications (2)

Publication Number Publication Date
CN113642642A CN113642642A (zh) 2021-11-12
CN113642642B true CN113642642B (zh) 2024-04-30

Family

ID=78421487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110929884.9A Active CN113642642B (zh) 2021-08-13 2021-08-13 控件识别方法及装置

Country Status (1)

Country Link
CN (1) CN113642642B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033239A (zh) * 2023-09-04 2023-11-10 镁佳(北京)科技有限公司 一种控件匹配方法、装置、计算机设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8448134B1 (en) * 2009-08-24 2013-05-21 Symantec Corporation Systems and methods for reliably identifying controls invoked during quality-assurance reviews of user interfaces
CN104391797A (zh) * 2014-12-09 2015-03-04 北京奇虎科技有限公司 Gui控件的识别方法和装置
CN104463178A (zh) * 2014-12-29 2015-03-25 广州视源电子科技股份有限公司 电子元件识别方法和系统
CN105743736A (zh) * 2016-01-27 2016-07-06 武汉联影医疗科技有限公司 自动化测试方法及系统
CN108509342A (zh) * 2018-04-04 2018-09-07 成都中云天下科技有限公司 一种精准快速的App自动化测试方法
CN109783356A (zh) * 2018-12-14 2019-05-21 深圳壹账通智能科技有限公司 一种自动化测试方法及终端
CN110503682A (zh) * 2019-08-08 2019-11-26 深圳市优讯通信息技术有限公司 矩形控件识别方法、装置、终端及存储介质
WO2020119419A1 (zh) * 2018-12-14 2020-06-18 深圳壹账通智能科技有限公司 基于图像识别的测试方法、装置、计算机设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8448134B1 (en) * 2009-08-24 2013-05-21 Symantec Corporation Systems and methods for reliably identifying controls invoked during quality-assurance reviews of user interfaces
CN104391797A (zh) * 2014-12-09 2015-03-04 北京奇虎科技有限公司 Gui控件的识别方法和装置
CN104463178A (zh) * 2014-12-29 2015-03-25 广州视源电子科技股份有限公司 电子元件识别方法和系统
CN105743736A (zh) * 2016-01-27 2016-07-06 武汉联影医疗科技有限公司 自动化测试方法及系统
CN108509342A (zh) * 2018-04-04 2018-09-07 成都中云天下科技有限公司 一种精准快速的App自动化测试方法
CN109783356A (zh) * 2018-12-14 2019-05-21 深圳壹账通智能科技有限公司 一种自动化测试方法及终端
WO2020119419A1 (zh) * 2018-12-14 2020-06-18 深圳壹账通智能科技有限公司 基于图像识别的测试方法、装置、计算机设备及存储介质
CN110503682A (zh) * 2019-08-08 2019-11-26 深圳市优讯通信息技术有限公司 矩形控件识别方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN113642642A (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN111595850B (zh) 切片缺陷检测方法、电子装置及可读存储介质
CN109947967B (zh) 图像识别方法、装置、存储介质和计算机设备
CN110033018B (zh) 图形相似度判断方法、装置及计算机可读存储介质
RU2760471C1 (ru) Способы и системы идентификации полей в документе
CN110175609B (zh) 界面元素检测方法、装置及设备
CN110781925B (zh) 软件页面的分类方法、装置、电子设备及存储介质
CN110210480B (zh) 文字识别方法、装置、电子设备和计算机可读存储介质
CN111402579A (zh) 道路拥堵程度预测方法、电子装置及可读存储介质
CN110580284A (zh) 一种实体消歧方法、装置、计算机设备及存储介质
CN112988557A (zh) 一种搜索框定位方法、数据采集方法、装置及介质
CN113642642B (zh) 控件识别方法及装置
CN111247517B (zh) 一种图像处理方法、装置及系统
CN114548192A (zh) 样本数据处理方法、装置、电子设备及介质
CN116774973A (zh) 数据渲染方法、装置、计算机设备及存储介质
CN115687146A (zh) Bios测试方法、装置、计算机设备和存储介质
CN113886906A (zh) Cad图纸的加载方法、字体文件替换方法、装置和存储介质
CN113936187A (zh) 文本图像合成方法、装置、存储介质及电子设备
CN111291738A (zh) 前端页面图像中的元素提取方法、装置及电子设备
CN112559362A (zh) 动态用户界面的自动化测试方法及测试装置
CN114064010A (zh) 前端代码生成方法、装置、系统及存储介质
CN115937875A (zh) 文本识别方法及装置、存储介质、终端
CN112749293A (zh) 一种图像分类方法、装置及存储介质
CN113973235A (zh) 互动信息显示方法、装置、计算机设备
CN110851349A (zh) 页面异常显示的检测方法、终端设备及存储介质
CN112784189A (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