CN110046085A - 识别终端设备上显示的应用程序控件的方法及装置 - Google Patents

识别终端设备上显示的应用程序控件的方法及装置 Download PDF

Info

Publication number
CN110046085A
CN110046085A CN201811468430.0A CN201811468430A CN110046085A CN 110046085 A CN110046085 A CN 110046085A CN 201811468430 A CN201811468430 A CN 201811468430A CN 110046085 A CN110046085 A CN 110046085A
Authority
CN
China
Prior art keywords
control
information
similarity
description information
destination application
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.)
Granted
Application number
CN201811468430.0A
Other languages
English (en)
Other versions
CN110046085B (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811468430.0A priority Critical patent/CN110046085B/zh
Publication of CN110046085A publication Critical patent/CN110046085A/zh
Application granted granted Critical
Publication of CN110046085B publication Critical patent/CN110046085B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开涉及识别终端设备上显示的应用程序控件的方法及装置。该方法包括:基于图像识别规则,从应用程序页面的页面图片中识别出第一控件信息;确定第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息之间的第一相似度;在所确定出的第一相似度都低于第一阈值或者存在多个控件的第一相似度不低于第一阈值时,从终端设备的系统数据中提取应用程序页面的控件布局信息,控件布局信息包括第二控件信息;确定第二控件信息中的第二控件描述信息与目标应用程序控件的目标控件描述信息之间的第二相似度;以及将第二相似度不低于第二阈值的控件识别为目标应用程序控件。本公开能准确识别目标应用程序控件,从而保证自动化测试的流畅性。

Description

识别终端设备上显示的应用程序控件的方法及装置
技术领域
本公开涉及计算机技术领域,具体地,涉及识别终端设备上显示的应用程序控件的方法及装置。
背景技术
应用程序的自动化测试是把人为操作的测试行为转化为机器执行,以对应用程序进行测试的过程。自动化测试能够替代以往对应用程序的人工测试,是一种能够节省人力、时间和硬件资源,并提高测试效率的测试手段。在自动化测试过程中需要识别应用程序的各种控件,从而实现对应用程序的自动操作。针对诸如混合模式(Hybrid)应用程序、本地(Native)应用程序、网页(Webview)应用程序的不同类型的应用程序,都有不同的方案以实现自动化测试。
现有技术的自动化测试方案中,定位元素控件的方式主要有以下两种。一种是基于Dump页面布局信息进行元素获取,最终取得控件的坐标,这个方法的好处是能够通过控件信息准确定位到页面的指定元素。但是对于混合模式应用程序,其中网页的页面布局就无法轻易获取。另一种方式是基于图像识别来定位控件,这种方式可以无视应用程序的类型,无论是网页类型还是本地类型的应用程序,只要通过给予一定的图像特征,就能找到该图像所在的位置坐标,从而达到元素控件定位,以实现自动化。但是面对一些特征不明显的控件,比如一些空白输入框,就无法通过图像识别精确得定位到该控件。另外,如果需要查找的内容是非常小的图案,常规的图像识别和查找是很难定到的,因为图像越小特征越不明显。还有一些比较特殊的文本,比如数字的0和字母O,在图像识别的过程中,经常也会出现识别错误,导致定位不够准确。
因而,现有技术的方案都有各自的局限性,其缺陷会导致自动化测试过程不流畅。
发明内容
鉴于上述,本公开提供了一种识别终端设备上显示的应用程序控件的方法及装置,该方法和装置能够准确识别应用程序的目标应用程序控件,从而能够保证自动化测试的流畅性。
根据本公开的一个方面,提供了一种识别终端设备上显示的应用程序控件的方法,包括:基于图像识别规则,从终端设备上显示的应用程序页面的页面图片中识别出所述页面图片中的至少一个控件的第一控件信息,所述第一控件信息至少包括所述控件的第一控件描述信息;针对所述至少一个控件中的每个控件,确定该控件的第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息之间的第一相似度;在所确定出的所述至少一个控件中的所有控件的第一相似度都低于第一阈值或者存在多个控件的第一相似度不低于所述第一阈值时,从所述终端设备的系统数据中提取所述应用程序页面的控件布局信息中的第二控件信息,所述第二控件信息至少包括所述控件的第二控件描述信息;针对所述至少一个控件中的每个控件,确定该控件的第二控件信息中的第二控件描述信息与目标应用程序控件的目标控件描述信息之间的第二相似度;以及将所确定出的第二相似度不低于第二阈值的控件识别为所述目标应用程序控件。
可选的,在一个示例中,所述控件信息还包括控件的位置信息,所述第二控件信息为所述控件布局信息中的位于与所述第一控件信息的位置信息对应的位置处的控件信息。
可选的,在一个示例中,所述方法还可以包括:获取所述终端设备上显示的应用程序页面的页面图片。
可选的,在一个示例中,所述方法还可以包括:在所确定出的所述至少一个控件中仅仅存在一个控件的第一相似度不低于所述第一阈值时,将该控件识别为所述目标应用程序控件。
可选的,在一个示例中,在将所确定出的第二相似度不低于第二阈值的控件识别为所述目标应用程序控件后,所述方法还可以包括:确定被识别为所述目标应用程序控件的控件的第一控件信息中的第一控件描述信息和第二控件信息中的第二控件描述信息之间的第三相似度;以及在所确定出的第三相似度不低于第三阈值时,基于所述第二控件信息中的第二控件描述信息,调整用于第一相似度确定的相似度确定规则和/或所述第一阈值,和/或在所确定出的第三相似度低于所述第三阈值时,调整所述图像识别规则。
可选的,在一个示例中,所述控件描述信息为相应控件的文本描述信息,所述相似度确定规则可以包括:基于文本描述信息的字符串所包含的字符来确定文本描述信息之间的相似度;或者基于文本描述信息经过分割后得到的文本片段来确定文本描述信息之间的相似度。
可选的,在一个示例中,所述方法还可以包括:基于被识别为所述目标应用程序控件的控件的控件信息中的位置信息,对所述控件执行操作。
可选的,在一个示例中,所述应用程序页面的控件布局信息可以是利用所述终端设备的Dump功能提取的。
根据本公开的另一方面,还提供一种识别终端设备上显示的应用程序控件的装置,包括:控件信息识别模块,被配置为基于图像识别规则,从终端设备上显示的应用程序页面的页面图片中识别出所述页面图片中的至少一个控件的第一控件信息,所述第一控件信息至少包括所述控件的第一控件描述信息;第一相似度确定模块,被配置为针对所述至少一个控件中的每个控件,确定该控件的第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息之间的第一相似度;控件布局信息提取模块,被配置为在所确定出的所述至少一个控件中的所有控件的第一相似度都低于第一阈值或者存在多个控件的第一相似度不低于所述第一阈值时,从所述终端设备的系统数据中提取所述应用程序页面的控件布局信息中的第二控件信息,所述第二控件信息至少包括所述控件的第二控件描述信息;第二相似度确定模块,被配置为针对所述至少一个控件中的每个控件,确定该控件的第二控件信息中的第二控件描述信息与目标应用程序控件的目标控件描述信息之间的第二相似度;以及目标控件识别模块,被配置为将所确定出的第二相似度不低于第二阈值的控件识别为所述目标应用程序控件。
可选的,在一个示例中,所述控件信息还包括控件的位置信息,所述第二控件信息为所述控件布局信息中的位于与所述第一控件信息中的位置信息对应的位置处的控件信息。
可选的,在一个示例中,还可以包括:页面图片获取模块,被配置为获取所述终端设备上显示的应用程序页面的页面图片。
可选的,在一个示例中,所述目标控件识别模块还可以被配置为:在所确定出的所述至少一个控件中仅仅存在一个控件的第一相似度不低于所述第一阈值时,将该控件识别为所述目标应用程序控件。
可选的,在一个示例中,所述装置还可以包括第三相似度确定模块,被配置为在将所确定出的第二相似度不低于第二阈值的控件识别为所述目标应用程序控件后,确定被识别为所述目标应用程序控件的控件的第一控件信息中的第一控件描述信息和第二控件信息中的第二控件描述信息之间的第三相似度;以及调整模块,被配置为:在所确定出的第三相似度不低于第三阈值时,基于所述第二控件信息中的第二控件描述信息,调整用于第一相似度确定的相似度确定规则和/或所述第一阈值,和/或在所确定出的第三相似度低于所述第三阈值时,调整所述图像识别规则。
可选的,在一个示例中,所述控件描述信息可以为相应控件的文本描述信息,所述相似度确定规则可以包括:基于文本描述信息的字符串所包含的字符来确定文本描述信息之间的相似度;或者基于文本描述信息经过分割后得到的文本片段来确定文本描述信息之间的相似度。
可选的,在一个示例中,所述装置还可以包括:操作执行模块,被配置为基于被识别为所述目标应用程序控件的控件的控件信息中的位置信息,对所述控件执行操作。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。
根据本公开的另一方面,还提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的方法。
利用本公开的方法和装置,通过在图像识别不能成功识别出目标应用程序控件时,利用系统数据中的控件布局信息来识别目标应用程序控件,能够同时结合图像识别和系统数据中的控件布局信息来识别控件,从而提高对控件的识别准确率,进而提高自动化测试的流畅性。
利用本公开的方法和装置,当通过图像识别不能识别出目标应用程序控件时,根据图像识别所获得的控件的位置信息来从控件布局信息中识别目标应用程序控件,能够提高从控件布局信息中识别目标应用程序控件的效率。
利用本公开的方法和装置,当图像识别的结果中仅存在与目标应用程序控件匹配的一个控件时,将该一个控件识别为目标应用程序控件,从而能够提高对目标应用程序控件的识别效率,并节约程序资源。
利用本公开的方法和装置,当图像识别的控件信息与目标应用程序控件不匹配,但根据图像识别的位置信息能够从控件布局信息中识别出与目标应用程序控件匹配的控件且该目标应用程序控件的控件信息与图像识别得到的控件信息不匹配时,调整图像识别规则,从而能够基于对控件的识别结果提高图像识别的准确率。
利用本公开的方法和装置,当图像识别不能识别出目标应用程序控件,但能够从控件布局信息中识别出目标应用程序控件,且目标应用程序控件内容与图像识别的控件信息匹配时,调整相似度确定规则或相应的阈值,能够避免因相似度确定规则或相应阈值不合适而导致错误地将图像识别结果判定为不匹配,进而提高识别控件的效率。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:
图1是根据本公开的一个实施例的用于识别终端设备上显示的应用程序控件的方法的流程图;
图2是根据本公开的一个实施例的用于识别终端设备上显示的应用程序控件的方法中的页面图片的一个示例;
图3是根据本公开另一实施例的用于识别终端设备上显示的应用程序控件的方法的调整过程的流程图;
图4是根据本公开一个实施例的用于识别终端设备上显示的应用程序控件的装置的结构框图;
图5是根据本公开另一实施例的用于识别终端设备上显示的应用程序控件的装置的结构框图;
图6是根据本公开一个实施例的用于实现用于识别终端设备上显示的应用程序控件的方法的计算设备的结构框图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
现在结合附图来描述本公开的识别终端设备上显示的应用程序控件的方法及装置。
图1是根据本公开的一个实施例的用于识别终端设备上显示的应用程序控件的方法的流程图。
如图1所示,在块110,基于图像识别规则,从终端设备上显示的应用程序页面的页面图片中识别出页面图片中的至少一个控件的第一控件信息,第一控件信息至少包括控件的第一控件描述信息。控件描述信息是指能够基于图像识别技术而从页面图片中识别的用于描述控件的特征信息的信息,比如文本描述信息、图标信息等。图像识别规则可以使用任意现有的图像识别手段,例如可以使用OCR识别或利用机器学习训练的图像识别模型等。
应用程序页面可以是终端设备上的应用程序列表页面,也可以是打开特定应用程序之后的特定应用程序本身的页面。图2示出了应用程序页面的页面图片的一个示例。要识别的目标应用程序控件可以是应用程序页面中的任意控件。例如,当应用程序页面为终端设备上的应用程序列表页面时,目标应用程序控件可以是应用程序的图标,当点击该图标时应用程序被打开。目标应用程序控件还可以是应用程序中的任意可操作控件。应用程序页面可以存在一个或多个控件。在图2所示的页面图片中示出了多个控件,如转账控件、信用卡还款控件、充值中心控件等。当点击这些控件时将会实现对应用程序的相应操作。例如点击如图2所示的转账控件时,可以跳转到转账页面以进行转账操作。在对应用程序进行自动化测试时,目标应用程序控件为自动化测试中各个步骤将要操作的控件。例如,如果自动测测试的某一步骤为转账操作中的一个步骤,那么需要从应用程序页面中识别转账控件,从而摸拟人为点击操作,以进入到转账页面中。
在一个示例中,控件描述信息可以是针对控件的文本描述信息。例如,控件描述信息可以是控件的名称,如图2中的转账控件的名称为“转账”,则该控件的控件描述信息可以是文本“转账”。在该示例中可以利用OCR识别从页面图片中识别控件的文本描述信息。在另一示例中,控件描述信息也可以是针对目标应用程序控件的图标。在该示例中,可以使用现有技术中的任意图像识别方法来识别页面图片中的至少一个控件的图标。的另一示例中,控件描述信息可以是针对目标应用程序控件的一个或多个特征的特征描述信息。以图2中的转账控件为例,控件描述信息可以包括控件的颜色、是否包括货币符号等特征。
本公开中的终端设备可以包括但不限于,服务器、工作站、桌面型计算机、膝上型计算机、笔记本、移动终端设备、智能电话、平板电脑、蜂窝电话、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
在识别到至少一个控件之后,在块120,针对至少一个控件中的每个控件,确定该控件的第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息之间的第一相似度。
对于控件描述信息为文本描述信息的情形,可以基于文本描述信息的字符串所包含的字符来确定文本描述信息之间的相似度。例如,可以基于字符串中包含的各个字符的数量或字符在字符串中的先后顺序来确定相似度。在另一示例中,由于图像识别过程中可能出现字符丢失或部分字符的错误识别,还可以对文本描述信息的字符串进行分割,从而基于经过分割后得到的文本片段来确定文本描述信息之间的相似度,从而避免因图像识别丢失字符或错误识别部分字符而导致相似度低。在一个示例中,可以根据各个对应的片段的相似度的加权平均值来确定相似度。
对于控件描述信息为图标的情形,可以基于所识别出的图标的特征和目标应用程序控件的图标的特征,来确定相似度。例如,如果目标应用程序控件的图标中包括绿色的圆圈,当从页面图片中识别某一控件的图标为绿色时,可以使相似度为30%,当该控件的图标包括圆圈时,相似度为60%,当该控件的图标包括圆圈且为绿色时,相似度为90%。对于图标之间的相似度也可以使用利用机器学习训练过的图像识别模型来确定页面图片中的控件图标与目标应用程序控件的图标之间的相似度。
在确定出第一相似度后,在块130,确定至少一个控件中是否仅存在一个控件的第一相似度不低于第一阈值的控件。
在基于图像识别规则所识别的至少一个控件中仅仅存在一个控件的第一相似度不低于所述第一阈值时,可以在块140,将该控件识别为目标应用程序控件。当基于图像识别规则仅识别到一个与目标应用程序控件匹配的控件时,表明通过图像识别已能够识别到目标应用程序控件,该唯一匹配的控件即想要识别的目标应用程序控件。由此能够提高对目标应用程序控件的识别效率,节约程序资源。
如果所确定出的至少一个控件中的所有控件的第一相似度都低于第一阈值,则表明通过图像识别没有识别到与目标应用程序控件匹配的控件。如果所确定出的至少一个控件中存在多个控件的第一相似度不低于第一阈值,则表明从页面图片中识别到了多个相似的结果。此时,都表明通过图像识别未能成功地从页面图片中识别到目标应用程序控件。在这种情况下,在块S150,从终端设备的系统数据中提取应用程序页面的控件布局信息中的第二控件信息。所述控件布局信息包括应用程序页面的至少一个控件中的每个控件的第二控件信息,第二控件信息至少包括控件的第二控件描述信息。系统数据例如可以是终端的Dump功能(例如安卓或IOS系统的Dump功能)所提供的Dump数据。应用程序在系统中运行的过程中,系统的Dump功能(如Dump API(应用程序编程接口))能够获取当前页面的页面布局信息(该页面布局信息中包括控件布局信息),进而将控件布局信息记录到系统数据中。
此外,控件信息可以包括控件的位置信息。基于图像识别规则来识别页面图片时还可以识别到页面图片中的至少一个控件的位置信息。即,所识别出的第一控件信息还可以包括控件的位置信息。此时,从系统数据中提取出的第二控件信息可以为控件布局信息中的位于与第一位置信息对应的位置处的控件信息。
然后,在块160,针对至少一个控件中的每个控件,确定该控件的第二控件信息中的第二控件描述信息与目标应用程序控件的目标控件描述信息之间的第二相似度。第二相似度也可以使用如上描述过的相似度确定方法来确定。
在确定出第二相似度之后,在块170,判断是否存在第二相似度不低于第二阈值的一个控件。
当存在第二相似度不低于第二阈值的一个控件时,在块180,将所确定的第二相似度不低于第二阈值的控件识别为目标应用程序控件。当存在第二相似度不低于第二阈值的第二控件信息时,表明从系统数据中识别到了目标应用程序控件,该第二控件信息对应的控件即目标应用程序控件。当页面图片中的所有控件的第二控件信息与目标应用程序控件的第二相似度均低于第二阈值时,表明本次识别操作失败。此时可以调整图像识别规则、针对目标应用程序控件的目标控件描述信息、相应阈值等,从而再次执行识别操作。在所有控件的第二相似度都低于第二阈值时,流程结束。
图3是根据本公开的另一实施例的识别终端设备上显示的应用程序控件的方法的流程图。
在块301,获取终端设备上显示的应用程序页面的页面图片。例如,可以通过截图的方式从终端设备上获取应用程序的页面图片。获取页面图片的过程可以在针对应用程序的自动化测试的执行过程中执行。获取到页面图片之后,可以在块302,基于图像识别规则,从终端设备上显示的页面图片中识别出页面图片中的至少一个控件的第一控件信息。然后在块303,针对至少一个控件中的每个控件,确定该控件的第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息之间的第一相似度。接着,在块304,判断是否仅存在一个控件的第一相似度不低于第一阈值。
在仅存在一个控件的第一相似度不低于第一阈值时,在块305,将第一相似度低于第一阈值的控件识别为目标应用程序控件。当所识别的所有控件的第一相似度均低于第一阈值或所识别的控件中存在两个以上控件的第一相似度高于第一阈值,在块306,从终端设备的系统数据中提取应用程序页面的控件布局信息中的第二控件信息。
在提取第二控件信息之后,在块307,针对至少一个控件中的每个控件,确定该控件的第二控件信息中的第二控件描述信息文本描述信息与目标应用程序控件的目标控件描述信息文本描述信息之间的第二相似度。然后在块308,判断是否存在一个控件的第二相似度不低于第二阈值。当仅存在一个控件的第二相似度不低于第二阈值时,在块309,将所确定出的第二相似度不低于第二阈值的控件识别为目标应用程序控件。
从页面图片中识别的控件信息中还可以包括控件的位置信息。此时,在如上在块305或在块309从页面图片中识别到目标应用程序控件时,可以基于识别为目标应用程序控件的控件的控件信息中的位置信息,对控件执行操作。由此,可实现对应用程序的自动化测试操作。
还可以在仅通过图像识别不能识别到目标应用程序控件,而通过控件布局信息能够识别到目标应用程序控件时,对图像识别规则、用于确定第一相似度的相似度确定规则和/或第一阈值进行调整,以提高系统整体的识别性能。在该示例中,当仅存在一个控件的第二相似度不低于第二阈值时,即从控件布局信息中识别到与目标应用程序控件匹配的唯一控件时,可以在块310,确定被识别为目标应用程序控件的控件的第一控件信息中的第一控件描述信息和第二控件信息中的第二控件描述信息之间的第三相似度。进而在块311,判断被识别为目标应用程序控件的控件的第三相似度是否不低于第三阈值。
在所确定出的第三相似度不低于第三阈值时,表明事实上基于图像识别已经识别到了目标应用程序控件,然而由于相似度度算规则或第一阈值不适当而导致未能从图像识别的结果中找到与目标应用程序控件匹配的控件。因而,可以在块312,基于第二控件信息中的第二控件描述信息,调整用于第一相似度确定的相似度确定规则和/或所述第一阈值。在一个示例中,可以使第一阈值降低预定值,以提高图像识别的结果与目标应用程序控件的匹配概率。在另一示例中,可以将目标应用程序控件的目标控件描述信息作为带标记的训练样本来训练用于图像识别的图像识别模型。
在所确定出的第三相似度低于第三阈值时,表明基于图像识别规则确实没有识别到目标应用程序控件,即图像识别规则性能不足,因而可以在块313,调整图像识别规则。例如,可以调整图像识别规则的各项参数。
图4是根据本公开一个实施例的识别终端设备上显示的应用程序控件的装置(以下称为控件识别装置)400的结构框图。如图4所示,控件识别装置400包括控件信息识别模块410、第一相似度确定模块420、控件布局信息提取模块430、第二相似度确定模块440和目标控件识别模块450。
控件信息识别模块410被配置为基于图像识别规则,从终端设备上显示的应用程序页面的页面图片中识别出页面图片中的至少一个控件的第一控件信息,第一控件信息至少包括控件的第一控件描述信息。在识别到第一控件信息时,第一相似度确定模块420针对至少一个控件中的每个控件,确定该控件的第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息之间的第一相似度。
在所确定出的至少一个控件中的所有控件的第一相似度都低于第一阈值或者存在多个控件的第一相似度不低于第一阈值时,控件布局信息提取模块430从终端设备的系统数据中提取应用程序页面的控件布局信息中的第二控件信息,第二控件信息至少包括控件的第二控件描述信息。控件布局信息例如可以是利用终端设备的系统的Dump功能所提取的。所述控件布局信息包括至少一个控件中的每个控件的第二控件描述信息。
第二相似度确定模块440被配置为针对至少一个控件中的每个控件,确定该控件的第二控件信息中的第二控件描述信息与目标应用程序控件的目标控件描述信息之间的第二相似度。然后,目标控件识别模块450将所确定出的第二相似度不低于第二阈值的控件识别为目标应用程序控件。
在一个示例中,控件信息还可以包括控件的位置信息,相应地,第二控件信息可以为控件布局信息中的位于与第一控件信息中的第一位置信息对应的位置处的控件信息。此时,控件布局信息提取模块430可以被配置为从控件布局信息中提供与第一位置信息对应的位置处的控件信息作为第二控件信息。
在一个示例中,控件描述信息可以为相应控件的文本描述信息,用于确定第一相似度、第二相似度和/或第三相似度的相似度确定规则可以包括:基于文本描述信息的字符串所包含的字符来确定文本描述信息之间的相似度;或者基于文本描述信息经过分割后得到的文本片段来确定文本描述信息之间的相似度。
在一个示例中,目标控件识别模块450还可以被配置为在所确定出的至少一个控件中仅仅存在一个控件的第一相似度不低于第一阈值时,将该控件识别为目标应用程序控件。此时,可以不执行控件布局信息的提取操作,从而提高识别效率,并节约程序资源。
图5是根据本公开的另一实施例的识别终端设备上显示的应用程序控件的装置(以下称为控件识别装置)500的结构框图。如图5所示,控件识别装置500包括页面图片获取模块510、控件信息识别模块520、第一相似度确定模块530、控件布局信息提取模块540、第二相似度确定模块550和目标控件识别模块560。
页面图片获取模块510被配置为获取终端设备上显示的应用程序页面的页面图片。页面图片获取模块510例如可以是截屏模块,利用截屏模块可以对终端设备上的应用程序页面进行截屏,以获取页面图片。
在获取到页面图片后,控件信息识别模块520基于图像识别规则从所获取的页面图片中识别至少一个控件的第一控件信息。然后,第一相似度确定模块530确定所识别出的第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息第一相似度。如果确定出至少一个控件中存在仅仅一个控件的第一相似度不低于第一阈值,则目标控件识别模块560将该控件识别为目标应用程序控件。
在所确定出的至少一个控件中的所有控件的第一相似度都低于第一阈值或者存在多个控件的第一相似度不低于第一阈值时,控件布局信息提取模块540从终端设备的系统数据中提取应用程序页面的控件布局信息中的第二控件信息,第二控件信息至少包括控件的第二控件描述信息。
然后,第二相似度确定模块550确定控件布局信息中的至少一个控件中的各个控件的第二控件描述信息与目标应用程序的目标控件描述信息之间的第二相似度。随后,目标确定模块550将所确定出的第二相似度不低于第二阈值的控件识别为目标应用程序控件。
此外,控件识别装置500还可以包括第三相似度确定模块570和调整模块580。第三相似度确定模块570被配置为当存在第二相似度不低于第二阈值的一个控件时,确定被识别为目标应用程序控件的控件的第一控件信息中的第一控件描述信息和第二控件信息中的第二控件描述信息之间的第三相似度。调整模块580被配置为在所确定出的第三相似度不低于第三阈值时,基于第二控件信息中的第二控件描述信息,调整用于第一相似度确定的相似度确定规则和/或第一阈值;以及在所确定出的第三相似度低于第三阈值时,调整图像识别规则。
在本公开中,控件信息还可以包括控件的位置信息。相应地,控件布局信息提取模块540被配置为从控件布局信息中提取位于与第一控件信息的位置信息对应的位置处的控件信息作为第二控件信息。此外,如图5所示,控件识别装置500还可以包括操作执行模块590。当存在第二相似度不低于第二阈值的一个控件时,即从控件布局信息中识别到了目标应用程序控件时,操作执行模块590可以被配置为基于识别为目标应用程序控件的控件的控件信息中的位置信息,对控件执行操作。
以上参照图1到图5,对根据本公开的识别终端设备上显示的应用程序控件的方法及装置的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本公开的装置的实施例。
本公开的识别终端设备上显示的应用程序控件的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。在本公开中,识别终端设备上显示的应用程序控件的装置例如可以利用计算设备实现。
图6是根据本公开一个实施例的用于实现识别终端设备上显示的应用程序控件的方法的计算设备600的结构框图。根据一个实施例,计算设备600可以包括至少一个处理器610,该至少一个处理器610执行在计算机可读存储介质(即,存储器620)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器620中存储计算机可执行指令,其当执行时使得至少一个处理器610:基于图像识别规则,从终端设备上显示的应用程序页面的页面图片中识别出页面图片中的至少一个控件的第一控件信息,第一控件信息至少包括控件的第一控件描述信息;针对至少一个控件中的每个控件,确定该控件的第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息之间的第一相似度;在所确定出的至少一个控件中的所有控件的第一相似度都低于第一阈值或者存在多个控件的第一相似度不低于第一阈值时,从终端设备的系统数据中提取应用程序页面的控件布局信息中的第二控件信息,第二控件信息至少包括控件的第二控件描述信息;针对至少一个控件中的每个控件,确定该控件的第二控件信息中的第二控件描述信息与目标应用程序控件的目标控件描述信息之间的第二相似度;以及将所确定出的第二相似度不低于第二阈值的控件识别为目标应用程序控件。
应该理解,在存储器620中存储的计算机可执行指令当执行时使得至少一个处理器610进行本公开的各个实施例中以上结合图1-5描述的各种操作和功能。
根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-5描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (17)

1.一种用于识别终端设备上显示的应用程序控件的方法,包括:
基于图像识别规则,从终端设备上显示的应用程序页面的页面图片中识别出所述页面图片中的至少一个控件的第一控件信息,所述第一控件信息至少包括所述控件的第一控件描述信息;
针对所述至少一个控件中的每个控件,确定该控件的第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息之间的第一相似度;
在所确定出的所述至少一个控件中的所有控件的第一相似度都低于第一阈值或者存在多个控件的第一相似度不低于所述第一阈值时,从所述终端设备的系统数据中提取所述应用程序页面的控件布局信息中的第二控件信息,所述第二控件信息至少包括所述控件的第二控件描述信息;
针对所述至少一个控件中的每个控件,确定该控件的第二控件信息中的第二控件描述信息与目标应用程序控件的目标控件描述信息之间的第二相似度;以及
将所确定出的第二相似度不低于第二阈值的控件识别为所述目标应用程序控件。
2.如权利要求1所述的方法,其中,所述控件信息还包括控件的位置信息,所述第二控件信息为所述控件布局信息中的位于与所述第一控件信息的位置信息对应的位置处的控件信息。
3.如权利要求1所述的方法,还包括:
获取所述终端设备上显示的应用程序页面的页面图片。
4.如权利要求1所述的方法,还包括:
在所确定出的所述至少一个控件中仅仅存在一个控件的第一相似度不低于所述第一阈值时,将该控件识别为所述目标应用程序控件。
5.如权利要求1所述的方法,在将所确定出的第二相似度不低于第二阈值的控件识别为所述目标应用程序控件后,所述方法还包括:
确定所述目标应用程序控件的第一控件信息中的第一控件描述信息和第二控件信息中的第二控件描述信息之间的第三相似度;以及
在所确定出的第三相似度不低于第三阈值时,基于所述第二控件信息中的第二控件描述信息,调整用于第一相似度确定的相似度确定规则和/或所述第一阈值,和/或
在所确定出的第三相似度低于所述第三阈值时,调整所述图像识别规则。
6.如权利要求5所述的方法,其中,所述控件描述信息为控件的文本描述信息,所述相似度确定规则包括:
基于文本描述信息的字符串所包含的字符来确定文本描述信息之间的相似度;或者
基于文本描述信息经过分割后得到的文本片段来确定文本描述信息之间的相似度。
7.如权利要求2所述的方法,还包括:
基于被识别为所述目标应用程序控件的控件的控件信息中的位置信息,对所述控件执行操作。
8.如权利要求1-7中任一项所述的方法,其中,所述应用程序页面的控件布局信息是利用所述终端设备的Dump功能提取的。
9.一种用于识别终端设备上显示的应用程序控件的装置,包括:
控件信息识别模块,被配置为基于图像识别规则,从终端设备上显示的应用程序页面的页面图片中识别出所述页面图片中的至少一个控件的第一控件信息,所述第一控件信息至少包括所述控件的第一控件描述信息;
第一相似度确定模块,被配置为针对所述至少一个控件中的每个控件,确定该控件的第一控件信息中的第一控件描述信息与目标应用程序控件的目标控件描述信息之间的第一相似度;
控件布局信息提取模块,被配置为在所确定出的所述至少一个控件中的所有控件的第一相似度都低于第一阈值或者存在多个控件的第一相似度不低于所述第一阈值时,从所述终端设备的系统数据中提取所述应用程序页面的控件布局信息中的第二控件信息,所述第二控件信息至少包括所述控件的第二控件描述信息;
第二相似度确定模块,被配置为针对所述至少一个控件中的每个控件,确定该控件的第二控件信息中的第二控件描述信息与目标应用程序控件的目标控件描述信息之间的第二相似度;以及
目标控件识别模块,被配置为将所确定出的第二相似度不低于第二阈值的控件识别为所述目标应用程序控件。
10.如权利要求9所述的装置,其中,所述控件信息还包括控件的位置信息,所述第二控件信息为所述控件布局信息中的位于与所述第一控件信息中的位置信息对应的位置处的控件信息。
11.如权利要求9所述的装置,还包括:
页面图片获取模块,被配置为获取所述终端设备上显示的应用程序页面的页面图片。
12.如权利要求9所述的装置,所述目标控件识别模块还被配置为:
在所确定出的所述至少一个控件中仅仅存在一个控件的第一相似度不低于所述第一阈值时,将该控件识别为所述目标应用程序控件。
13.如权利要求9所述的装置,还包括:
第三相似度确定模块,被配置为在将所确定出的第二相似度不低于第二阈值的控件识别为所述目标应用程序控件后,确定所述目标应用程序控件的第一控件信息中的第一控件描述信息和第二控件信息中的第二控件描述信息之间的第三相似度;以及
调整模块,被配置为:
在所确定出的第三相似度不低于第三阈值时,基于所述第二控件信息中的第二控件描述信息,调整用于第一相似度确定的相似度确定规则和/或所述第一阈值,和/或
在所确定出的第三相似度低于所述第三阈值时,调整所述图像识别规则。
14.如权利要求13所述的装置,其中,所述控件描述信息为控件的文本描述信息,所述相似度确定规则包括:
基于文本描述信息的字符串所包含的字符来确定文本描述信息之间的相似度;或者
基于文本描述信息经过分割后得到的文本片段来确定文本描述信息之间的相似度。
15.如权利要求10所述的装置,还包括:
操作执行模块,被配置为基于被识别为所述目标应用程序控件的控件的控件信息中的位置信息,对所述控件执行操作。
16.一种计算设备,包括:
至少一个处理器,
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述一个或多个处理器执行如权利要求1到8中任一所述的方法。
17.一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到8中任一所述的方法。
CN201811468430.0A 2018-12-03 2018-12-03 识别终端设备上显示的应用程序控件的方法及装置 Active CN110046085B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811468430.0A CN110046085B (zh) 2018-12-03 2018-12-03 识别终端设备上显示的应用程序控件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811468430.0A CN110046085B (zh) 2018-12-03 2018-12-03 识别终端设备上显示的应用程序控件的方法及装置

Publications (2)

Publication Number Publication Date
CN110046085A true CN110046085A (zh) 2019-07-23
CN110046085B CN110046085B (zh) 2022-12-13

Family

ID=67273260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811468430.0A Active CN110046085B (zh) 2018-12-03 2018-12-03 识别终端设备上显示的应用程序控件的方法及装置

Country Status (1)

Country Link
CN (1) CN110046085B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858356A (zh) * 2020-07-23 2020-10-30 北京首汽智行科技有限公司 一种基于图像识别技术的ui自动化测试方法
CN112231034A (zh) * 2019-12-23 2021-01-15 北京来也网络科技有限公司 结合rpa和ai的软件界面元素的识别方法与装置
CN114116441A (zh) * 2020-12-30 2022-03-01 京东数科海益信息科技有限公司 一种ui界面测试方法、装置、电子设备及存储介质
CN114461124A (zh) * 2022-01-30 2022-05-10 深圳创维-Rgb电子有限公司 投屏控制方法、装置、投屏器及计算机可读存储介质
CN114489903A (zh) * 2022-01-26 2022-05-13 北京字节跳动网络技术有限公司 界面元素定位方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265689A1 (en) * 2008-04-16 2009-10-22 Microsoft Corporation Generic validation test famework for graphical user interfaces
CN104252410A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 一种对页面中的控件进行测试的方法和设备
CN104794050A (zh) * 2014-01-21 2015-07-22 腾讯科技(深圳)有限公司 应用程序的测试方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265689A1 (en) * 2008-04-16 2009-10-22 Microsoft Corporation Generic validation test famework for graphical user interfaces
CN104252410A (zh) * 2013-06-27 2014-12-31 阿里巴巴集团控股有限公司 一种对页面中的控件进行测试的方法和设备
CN104794050A (zh) * 2014-01-21 2015-07-22 腾讯科技(深圳)有限公司 应用程序的测试方法、装置及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231034A (zh) * 2019-12-23 2021-01-15 北京来也网络科技有限公司 结合rpa和ai的软件界面元素的识别方法与装置
CN111858356A (zh) * 2020-07-23 2020-10-30 北京首汽智行科技有限公司 一种基于图像识别技术的ui自动化测试方法
CN114116441A (zh) * 2020-12-30 2022-03-01 京东数科海益信息科技有限公司 一种ui界面测试方法、装置、电子设备及存储介质
CN114489903A (zh) * 2022-01-26 2022-05-13 北京字节跳动网络技术有限公司 界面元素定位方法、装置、存储介质及电子设备
CN114461124A (zh) * 2022-01-30 2022-05-10 深圳创维-Rgb电子有限公司 投屏控制方法、装置、投屏器及计算机可读存储介质

Also Published As

Publication number Publication date
CN110046085B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
CN110046085A (zh) 识别终端设备上显示的应用程序控件的方法及装置
CN110135411B (zh) 名片识别方法和装置
WO2017032311A1 (zh) 一种检测方法及装置
JP6484333B2 (ja) 記述式問題のための知的採点方法およびシステム
US8781172B2 (en) Methods and systems for enhancing the performance of automated license plate recognition applications utilizing multiple results
CN109034069B (zh) 用于生成信息的方法和装置
CN104217203B (zh) 复杂背景卡面信息识别方法及系统
CN105138963A (zh) 图片场景判定方法、装置以及服务器
WO2017088537A1 (zh) 一种元件分类方法及装置
US11087137B2 (en) Methods and systems for identification and augmentation of video content
CN109784385A (zh) 一种商品自动识别方法、系统、装置及存储介质
CN110162599A (zh) 招聘面试方法、装置及计算机可读存储介质
CN114170468B (zh) 文本识别方法、存储介质及计算机终端
CN108536597A (zh) 一种终端测试方法、装置、终端设备及存储介质
CN110490237B (zh) 数据处理方法、装置、存储介质及电子设备
CN112560754A (zh) 票据信息的获取方法、装置、设备及存储介质
CN110135245A (zh) 到店确认方法、装置、电子设备及可读存储介质
CN112597065B (zh) 页面测试方法和装置
CN111652208A (zh) 用户界面组件的识别方法、装置、电子设备及存储介质
CN113763348A (zh) 图像质量确定方法、装置、电子设备及存储介质
CN112101346A (zh) 一种基于目标检测的验证码识别方法及装置
CN112989312B (zh) 验证码的识别方法、装置、电子设备和存储介质
JP7502570B2 (ja) 酒製品位置決め方法、酒製品情報管理方法及びその装置、デバイス及び記憶媒体
CN112613367A (zh) 票据信息文本框获取方法、系统、设备及存储介质
CN112560621A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201013

Address after: English genus

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20201013

Address after: English genus

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: English genus

Applicant before: Advanced innovation technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240229

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: English genus

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: United Kingdom