CN110442521B - 控件单元检测方法及装置 - Google Patents

控件单元检测方法及装置 Download PDF

Info

Publication number
CN110442521B
CN110442521B CN201910713313.4A CN201910713313A CN110442521B CN 110442521 B CN110442521 B CN 110442521B CN 201910713313 A CN201910713313 A CN 201910713313A CN 110442521 B CN110442521 B CN 110442521B
Authority
CN
China
Prior art keywords
target
control unit
image
color
white
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
CN201910713313.4A
Other languages
English (en)
Other versions
CN110442521A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910713313.4A priority Critical patent/CN110442521B/zh
Publication of CN110442521A publication Critical patent/CN110442521A/zh
Application granted granted Critical
Publication of CN110442521B publication Critical patent/CN110442521B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开一种控件单元检测方法及装置,属于电子技术领域。该方法包括:获取目标控件单元的图像,目标控件单元为目标应用程序中的任一控件单元,目标应用程序中的每个控件单元包括控件元素和控件文本,控件文本显示在控件元素中;对目标控件单元的图像进行特征提取,得到目标控件单元的图像特征信息;根据目标控件单元的图像特征信息,对目标控件单元进行显示异常检测。本申请可以提高检测的准确性,降低检测的人力成本。本申请用于控件单元检测。

Description

控件单元检测方法及装置
技术领域
本申请涉及电子技术领域,特别涉及一种控件单元检测方法及装置。
背景技术
应用程序通常具有用户界面,用户界面中包括控件单元,控件单元包括控件元素以及显示在控件元素中的控件文本。其中,控件元素例如按钮、文本框等,控件文本例如显示在确定按钮中的“确定”文本。
在应用程序发布之前,可以将应用程序部署在测试终端上进行测试,以检测应用程序中的控件单元是否显示异常。目前,通常由测试人员手动触发测试终端显示应用程序的各个用户界面,并在测试终端显示每个用户界面时,由测试人员对用户界面中的控件单元逐个进行检查。
但是,目前以人工手动的方式对控件单元进行检测,检测的准确性较低,且检测的人力成本较高。
发明内容
本申请提供一种控件单元检测方法及装置,可以提高控件单元检测的准确性,降低检测的人力成本。本申请的技术方案如下:
一方面,提供一种控件单元检测方法,用于测试终端,所述方法包括:
获取目标控件单元的图像,所述目标控件单元为目标应用程序中的任一控件单元,所述目标应用程序中的每个所述控件单元包括控件元素和控件文本,所述控件文本显示在所述控件元素中;
对所述目标控件单元的图像进行特征提取,得到所述目标控件单元的图像特征信息;
根据所述目标控件单元的图像特征信息,对所述目标控件单元进行显示异常检测。
另一方面,提供一种控件单元检测装置,用于测试终端,所述装置包括:
获取模块,用于获取目标控件单元的图像,所述目标控件单元为目标应用程序中的任一控件单元,所述目标应用程序中的每个所述控件单元包括控件元素和控件文本,所述控件文本显示在所述控件元素中;
提取模块,用于对所述目标控件单元的图像进行特征提取,得到所述目标控件单元的图像特征信息;
检测模块,用于根据所述目标控件单元的图像特征信息,对所述目标控件单元进行显示异常检测。
再一方面,提供一种终端,所述终端包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述控件单元检测方法。
又一方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述控件单元检测方法。
本申请提供的技术方案带来的有益效果是:
本申请提供的控件单元检测方法及装置,测试终端获取目标控件单元的图像后,对目标控件单元的图像进行特征提取得到目标控件单元的图像特征信息,然后根据目标控件单元的图像特征信息对目标控件单元进行显示异常检测。相比于人工检测的方式,本申请提供的方案可以提高控件单元检测的准确性,减少人力投入,降低检测的人力成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例所涉及的一种实施环境的示意图;
图2是本申请实施例提供的一种控件单元检测方法的方法流程图;
图3是本申请实施例提供的另一种控件单元检测方法的方法流程图;
图4是本申请实施例提供的一种用户界面的图像的示意图;
图5是本申请实施例提供的一种对目标控件单元的图像进行边缘特征提取的方法流程图;
图6是本申请实施例提供的一种目标控件单元的黑白图像的示意图;
图7是本申请实施例提供的一种检测控件文本是否从控件元素溢出的方法流程图;
图8是本申请实施例提供的一种对目标控件单元的图像进行颜色特征提取的方法流程图;
图9是本申请实施例提供的一种对目标控件单元的图像进行彩色特征提取的示意图;
图10是将图9所示的目标控件单元的图像转换为二值化图像后的示意图;
图11是本申请实施例提供的一种检测控件文本的颜色与控件元素的背景颜色是否相近的方法流程图;
图12是本申请实施例提供的一种控件单元检测装置的框图;
图13是本申请实施例提供的一种提取模块的框图;
图14是本申请实施例提供的一种检测模块的框图;
图15是本申请实施例提供的另一种提取模块的框图;
图16是本申请实施例提供的另一种检测模块的框图;
图17是本申请实施例提供的一种终端的框图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
请参考图1,其示出了本申请各个实施例所涉及的一种实施环境的示意图,该实施环境包括移动终端120和测试终端140,移动终端120与测试终端140可以通过有线网络连接或无线网络连接,该有线网络比如通用串行总线(英文:Universal Serial Bus;简称:USB),无线网络比如无线保真(英文:WIreless-FIdelity;简称:WI-FI)、数据、蓝牙(英文:Bluetooth)或紫蜂(英文:ZigBee)等,本申请实施例对此不作限定。
其中,移动终端120可以是智能手机或平板电脑等等,移动终端120中部署有应用程序,该应用程序例如XX音乐、YY视频或ZZ聊天等。测试终端140是用于对移动终端120中的应用程序进行测试的终端,其可以是智能手机、平板电脑、笔记本电脑或台式电脑等,且测试终端140与移动终端120可以相同,也可以不同,本申请实施例对此不作限定。如图1所示,本申请实施例以移动终端120为智能手机,测试终端140为台式电脑为例进行说明。
其中,应用程序可以包括多个用户界面(例如主界面、一级用户界面、二级用户界面等等),每个用户界面中包括控件单元,控件单元包括控件元素以及显示在控件元素中的控件文本,控件元素例如按钮或文本框等,控件文本包括中文汉字,英文字母,其他语言文字,标点符号等。测试终端140主要用于检测应用程序的控件单元是否存在显示异常,该显示异常例如控件文本从控件元素溢出导致控件单元影响用户界面的整洁性,控件文本的颜色与控件元素的背景颜色相近导致用户难以识别控件文本等。
在本申请实施例中,测试终端140中安装有安卓测试桥(英文:Android DebugBridge;简称:ADB)命令工具,移动终端120中安装有UI Automator工具包,测试终端140可以通过ADB命令调用移动终端120中的UI Automator工具包对移动终端120中的应用程序进行测试,其中,ADB命令工具是安卓开发包中的一个工具,其以包含于诸如Android Studio等安卓软件开发工具(或平台),可以通过该工具直接操作管理安卓设备,UI Automator是安卓系统的自动化测试框架,在本申请实施例中,UI Automator主要是指安装于安卓版本16以上用于自动化测试的工具包。
请参考图2,其示出了本申请实施例提供的一种控件单元检测方法的方法流程图,该控件单元检测方法可以由图1中的测试终端140来执行,测试终端140可以通过执行该方法对移动终端120中的目标应用程序的控件单元进行检测。参见图2,该方法可以包括如下几个步骤:
步骤201、获取目标控件单元的图像,目标控件单元为目标应用程序中的任一控件单元,目标应用程序中的每个控件单元包括控件元素和控件文本,控件文本显示在控件元素中。
其中,目标应用程序可以是安装在移动终端中的任一应用程序,目标控件单元为目标应用程序中的任一控件单元,且目标控件单元可以位于目标应用程序的目标用户界面中。
步骤202、对目标控件单元的图像进行特征提取,得到目标控件单元的图像特征信息。
目标控件单元的图像特征信息可以包括该目标控件单元的边缘特征信息和颜色特征信息中的至少一种。边缘特征信息用于检测控件文本是否从控件元素溢出,颜色特征信息用于检测控件文本的颜色与控件元素的背景颜色是否相近。
步骤203、根据目标控件单元的图像特征信息,对目标控件单元进行显示异常检测。
在本申请实施例中,控件单元的显示异常可以包括:控件文本从控件元素中溢出,和,控件文本的颜色与控件元素的背景颜色相近中的至少一种。
综上所述,本申请实施例提供的控件单元检测方法,测试终端获取目标控件单元的图像后,对目标控件单元的图像进行特征提取得到目标控件单元的图像特征信息,然后根据目标控件单元的图像特征信息对目标控件单元进行显示异常检测。相比于人工检测的方式,本申请提供的方案可以提高控件单元检测的准确性,减少人力投入,降低检测的人力成本。
请参考图3,其示出了本申请实施例提供的另一种控件单元检测方法的方法流程图,该控件单元检测方法可以由图1中的测试终端140来执行,测试终端140可以通过执行该方法对移动终端120中的目标应用程序的控件单元进行检测。参见图3,该方法可以包括如下几个步骤:
步骤301、获取目标应用程序的各个用户界面的图像,目标应用程序的用户界面包括目标用户界面。
其中,目标应用程序可以是移动终端中的任一应用程序,例如,该目标应用程序可以是XX音乐、YY视频或ZZ聊天等。目标应用程序可以包括多个用户界面,每个用户界面可以包括控件单元,每个控件单元可以包括控件元素和控件文本,控件文本显示在控件元素中。其中,该目标应用程序中的任一用户界面可以是目标用户界面,目标用户界面中的任一控件单元可以是目标控件单元,容易理解,目标控件单元包括控件元素以及显示在控件元素中的控件文本。
在本申请实施例中,测试终端可以遍历目标应用程序的各个用户界面,以获取各个用户界面的图像。可选地,测试终端可以通过点击指令、滑动指令或晃动指令等触发控件单元,使移动终端显示该控件单元所在用户界面的下级用户界面。在移动终端每显示一个用户界面时,测试终端可以获取该用户界面中的各个控件单元的信息以及该用户界面的图像,并将该用户界面中的各个控件单元的信息存储至目标栈中,之后,测试终端根据该目标栈中存储的控件单元的信息的顺序,按序触发控件单元,使移动终端显示该控件单元所在用户界面的下级用户界面,直至目标栈中不存在控件单元的信息,则测试终端遍历完目标应用程序的所有用户界面。其中,所述点击指令、滑动指令或晃动指令可以是测试终端模仿用户的点击操作、滑动操作或晃动操作所触发的指令,目标栈可以是用于存储目标应用程序的控件单元的信息的栈,控件单元的信息可以包括但不限于控件单元的标识、控件单元的位置以及控件文本的内容等,控件单元的形状通常为矩形,控件单元的位置可以是控件单元的两个对角在目标坐标系中的坐标,该目标坐标系可以是原点位于用户界面的一角,单位刻度为移动终端屏幕的n个像素的坐标系,n为大于或等于1的整数,例如,目标坐标系的原点可以位于用户界面的左上角、左下角、右上角或右下角,单位刻度为1个像素。可选地,测试终端可以在移动终端显示目标应用程序的每个用户界面的时间段内,对该用户界面进行截图或拍照,以获取该用户界面的图像。
示例地,以从目标应用程序的主界面(也称为一级用户界面)开始获取用户界面的图像为例,首先,测试终端可以通过点击指令触发目标应用程序的图标,使移动终端显示目标应用程序的主界面G1,假设该主界面G1中包括控件单元A和控件单元B,则测试终端获取该控件单元A的信息,该控件单元B的信息以及该主界面G1的图像,并将该控件单元A的信息和该控件单元B的信息存储至目标栈中,此时目标栈中存储的控件单元的信息的顺序为:控件单元A的信息->控件单元B的信息;然后,测试终端根据目标栈中存储的控件单元的信息的顺序,触发控件单元B(由于目标栈中控件单元B的信息存储在控件单元A的信息之后,而目标栈中的信息遵循先入后出原则,因此可以先触发控件单元B)并从目标栈中删除控件单元B的信息,假设目标应用程序存在控件单元B对应的二级用户界面(也即是主界面G1的下级用户界面)G2,且该二级用户界面G2中包括控件单元C和控件单元D,则在控件单元B被触发之后,移动终端显示该二级用户界面G2,测试终端获取该控件单元C的信息,该控件单元D的信息以及该二级用户界面G2的图像,并将该控件单元C的信息和该控件单元D的信息存储至目标栈中,此时目标栈中存储的控件单元的信息的顺序可以为:控件单元A的信息->控件单元C的信息->控件单元D的信息;接着,测试终端根据目标栈中存储的控件单元的信息的顺序,触发控件单元D,并从目标栈中删除控件单元D的信息,假设目标应用程序不存在控件单元D对应的三级用户界面,则在控件单元D被触发之后,移动终端显示的用户界面不发生变化,此时目标栈中存储的控件单元的信息的顺序可以为:控件单元A的信息->控件单元C的信息,之后,测试终端根据目标栈中存储的控件单元的信息的顺序,触发控件单元C,并从目标栈中删除控件单元C的信息,假设目标应用程序不存在控件单元C对应的三级用户界面,则在控件单元C被触发之后,移动终端显示的用户界面不发生变化,此时目标栈中存储的控件单元的信息的顺序可以为:控件单元A的信息,二级用户界面G2中的控件单元已经遍历完,测试终端触发移动终端显示主界面G1;最后,测试终端根据目标栈中存储的控件单元的信息的顺序,触发控件单元A,并从目标栈中删除控件单元A的信息,假设目标应用程序不存在控件单元A对应的二级用户界面,则在控件单元A被触发之后,移动终端显示的用户界面不发生变化,此时目标栈为空栈,则测试终端遍历完目标应用程序的各个用户界面。
需要说明的是,对于目标应用程序的每个用户界面,测试终端在获取该用户界面的图像时,可以计算该用户界面与之前获取过图像的用户界面的目标相似度,根据该目标相似度是否大于相似度阈值,来确定是否需要获取该用户界面的图像,这样一来,可以避免测试终端重复获取同一用户界面的图像,简化获取图像的过程。其中,该目标相似度可以是根据用户界面相似度,用户界面相似度的权重,用户界面中的控件单元相似度,以及控件单元相似度的权重确定的相似度。相似度阈值可以根据经验设定,例如,相似度阈值可以为0.8、0.9、0.91或0.95等等,本申请实施例对此不作限定。
还需要说明的是,在本申请实施例中,测试终端中可以安装有ADB命令工具,移动终端中可以安装有UI Automator工具包,测试终端可以通过ADB命令调用移动终端中的UIAutomator工具包执行该步骤301,本申请实施例对此不作限定。
步骤302、从目标用户界面的图像中,获取目标控件单元的图像。
其中,目标用户界面可以是目标应用程序的任一用户界面,例如,该目标用户界面可以是目标应用程序的主界面G1或二级用户界面G2。
可选地,测试终端可以根据目标控件单元的位置,从目标用户界面的图像中获取目标控件单元的图像。由步骤301容易知道,目标控件单元的形状为矩形,目标控件单元的位置是目标控件单元的两个对角在目标坐标系中的坐标,因此测试终端可以根据目标控件单元的位置确定目标控件单元的尺寸,根据目标控件单元的两个对角在目标坐标系中的坐标,以及目标控件单元的尺寸对目标用户界面的图像进行裁切,得到目标控件单元的图像。
示例地,请参考图4,其示出了本申请实施例提供的一种用户界面G1的图像的示意图,该图4以目标坐标系的原点位于用户界面G1的左下角,控件单元的位置为控件单元的左上角和右下角在目标坐标系中的坐标为例进行说明,该用户界面G1中包括控件单元A和控件单元B,控件单元A的左上角的坐标为(120,1120),右下角的坐标为(480,960),因此控件单元A的位置为(120,1120)和(480,960),控件单元B的左上角的坐标为(240,800),右下角的坐标为(600,640),因此控件单元B的位置为(240,800)和(600,640),以从图4所示的用户界面G1的图像中获取控件单元A的图像为例,测试终端可以根据控件单元A的位置(120,1120)和(480,960),确定控件单元A的长度为360(360=480-120)个单位刻度,宽度为160(160=1120-960)个单位刻度,进而根据控件单元A的位置(120,1120)和(480,960)和控件单元A的尺寸对用户界面G1进行裁切,得到控件单元A的图像。
需要说明的是,裁切得到的图像的尺寸可以大于目标控件单元的尺寸,以保证裁切得到的图像中包含目标控件单元的完整图像,从而裁切得到的目标控件单元的图像包含目标控件单元所有特征,本申请实施例对此不作限定。
步骤303、对目标控件单元的图像进行边缘特征提取,得到目标控件单元的边缘特征信息。
可选地,测试终端可以通过边缘检测算法对目标控件单元的图像进行边缘特征提取,得到目标控件单元的边缘特征信息,该边缘检测算法可以包括但不限于canny检测算法、Sobel检测算法或Prewitt检测算法。
示例地,请参考图5,其示出了本申请实施例提供的一种对目标控件单元的图像进行边缘特征提取的方法流程图,该图5以通过canny检测算法对目标控件单元的图像进行边缘特征提取为例进行说明,参见图5,该方法可以包括:
子步骤3031、将目标控件单元的图像转换成黑白图像。
可选地,步骤302中获取的目标控件单元的图像可以是彩色图像,测试终端可以基于图像转换算法,将目标控件单元的图像转换成黑白图像。例如,测试终端将控件单元A的图像转换成黑白图像。
示例地,请参考图6,其示出了本申请实施例提供的一种目标控件单元的黑白图像的示意图,该图6以目标控件单元为控件单元A,且以控件单元A中的控件文本为“这是一个例子,控件文本的内容很长,超过了显示范围。”为例进行说明,在控件单元A的黑白图像中,控件元素A1的边框的颜色和控件文本的颜色均为白色,其余区域的颜色均为黑色,也即是,控件元素A1的边框的像素点和控件文本的像素点均为白色像素点,其余区域的像素点均为黑色像素点。
子步骤3032、对目标控件单元的黑白图像进行边缘特征提取,得到目标控件单元的边缘特征信息。
可选地,测试终端可以对目标控件单元的黑白图像进行边缘特征提取,得到该目标控件单元的边缘特征信息,该边缘特征信息可以包括列特征信息和行特征信息。其中,列特征信息可以包括:目标像素列中的白色像素点的数量与目标像素列中的所有像素点的数量的第一比值pixel_max_col,该目标像素列中的白色像素点的最大连续长度与该目标像素列的长度的第二比值pixel_cont_col,和,该目标像素列在目标控件单元的黑白图像中的第一相对位置值loc_max_col,该目标像素列为目标控件单元的黑白图像中含白色像素点最多的列;行特征信息可以包括:目标像素行中的白色像素点的数量与目标像素行中的所有像素点的数量的第三比值pixel_max_row,该目标像素行中的白色像素点的最大连续长度与该目标像素行的长度的第四比值pixel_cont_row,和,该目标像素行在目标控件单元的黑白图像中的第二相对位置值loc_max_row,该目标像素行为目标控件单元的黑白图像中含白色像素点最多的行。其中,第一相对位置值可以是目标像素列的列号与目标控件单元的黑白图像的总像素列数的比值,第二相对位置值可以是目标像素行的行号与目标控件单元的黑白图像的总像素行数的比值。
示例地,以对图6所示的控件单元A的黑白图像进行边缘特征提取为例,由步骤301容易知道,控件单元A的长度为360个单位刻度,宽度为160个单位刻度,假设一个单位刻度等于移动终端屏幕的一个像素,则控件单元A的长度为360个像素,宽度为160个像素,控件单元A的黑白图像的长度可以为360个像素,宽度可以为160个像素,也即是,控件单元A的黑白图像包括360列像素和160行像素,每列包含160个像素,每行包含360个像素。假设图6所示的控件单元A的黑白图像中,目标像素列为按照从左向右的方向排布的第240列,该目标像素列中白色像素点的数量为110,该目标像素列中白色像素点的最大连续长度为110,目标像素行为按照从上向下的方向排布的第50行,该目标像素行中白色像素点的数量为300,该目标像素行中白色像素点的最大连续长度为240,则测试终端对图6所示的控件单元A的黑白图像进行边缘特征提取,得到的列特征信息可以包括:第一比值pixel_max_col=110/160=11/16,第二比值pixel_cont_col=110/160=11/16,第一相对位置值loc_max_col=240/360=2/3;行特征信息可以包括:第三比值pixel_max_row=300/360=5/6,第四比值pixel_cont_row=240/360=2/3,第二相对位置值loc_max_row=50/160=5/16。
步骤304、根据目标控件单元的边缘特征信息,检测目标控件单元的控件文本是否从目标控件单元的控件元素溢出。当目标控件单元的控件文本从目标控件单元的控件元素溢出时,执行步骤305;当目标控件单元的控件文本未从目标控件单元的控件元素溢出时,执行步骤306。
测试终端可以根据目标控件单元的边缘特征信息,检测目标控件单元的控件文本是否从目标控件单元的控件元素溢出,也即是检测目标控件单元的控件文本是否超出控件元素的显示范围。
示例地,请参考图7,其示出了本申请实施例提供的一种检测目标控件单元的控件文本是否从目标控件单元的控件元素溢出的方法流程图,参见图7,该方法可以包括:
子步骤3041、检测边缘特征信息是否满足目标溢出条件。当边缘特征信息满足目标溢出条件时,执行子步骤3042;当边缘特征信息不满足目标溢出条件时,执行子步骤3043。
其中,目标溢出条件可以包括列溢出条件和行溢出条件中的至少一种,因此,检测边缘特征信息是否满足目标溢出条件也即是检测列特征信息是否满足列溢出条件,以及检测行特征信息是否满足行溢出条件。其中,列溢出条件可以包括:目标像素列中的白色像素点的数量与该目标像素列中的所有像素点的数量的第一比值pixel_max_col大于第一比值阈值,该目标像素列中的白色像素点的最大连续长度与该目标像素列的长度的第二比值pixel_cont_col大于第二比值阈值,且该目标像素列在目标控件单元的黑白图像中的第一相对位置值loc_max_col属于第一位置值范围;行溢出条件可以包括:目标像素行中的白色像素点的数量与该目标像素行中的所有像素点的数量的第三比值pixel_max_row大于第三比值阈值,该目标像素行中的白色像素点的最大连续长度与该目标像素行的长度的第四比值pixel_cont_row大于第四比值阈值,且该目标像素行在目标控件单元的黑白图像中的第二相对位置值loc_max_row属于第二位置值范围。
容易理解,第一比值阈值、第二比值阈值、第三比值阈值、第四比值阈值、第一位置值范围以及第二位置值范围均可以根据实际情况设置,示例地,第一比值阈值和第三比值阈值均为0.6,第二比值阈值和第四比值阈值均为0.5,第一位置值范围和第二位置值范围均为0.05~0.95,也即是,列溢出条件可以包括:pixel_max_col>0.6,pixel_cont_col>0.5,0.05<loc_max_col<0.95;行溢出条件可以包括:pixel_max_row>0.6,pixel_cont_row>0.5,0.05<loc_max_row<0.95。
本领域技术人员容易理解,检测列特征信息是否满足列溢出条件以及检测行特征信息是否满足行溢出条件的过程可以同时执行,也可以按照先后顺序执行,当检测列特征信息是否满足列溢出条件以及检测行特征信息是否满足行溢出条件的过程按照先后顺序执行时,若在前执行的检测过程已经满足相应地溢出条件,则可以无需执行在后的检测过程。例如,若先执行检测列特征信息是否满足列溢出条件的过程,后执行检测行特征信息是否满足行溢出条件的过程,如果确定列特征信息满足列溢出条件,则可以无需执行检测行特征信息是否满足行溢出条件的过程,这样一来,可以简化检测过程。当然,也可以两个检测过程都执行,本申请实施例对此不作限定。
子步骤3042、确定目标控件单元的控件文本从目标控件单元的控件元素溢出。
若在子步骤3041中测试终端确定目标控件单元的列特征信息满足列溢出条件,和/或,目标控件单元的行特征信息满足行溢出条件,则测试终端确定目标控件单元的控件文本从目标控件单元的控件元素中溢出。
示例地,继续以图6所示的控件单元A的黑白图像为例,该控件单元A的列特征信息包括:第一比值pixel_max_col为11/16,第二比值pixel_cont_col为11/16,第一相对位置值loc_max_col为2/3,该控件单元A的行特征信息包括:第三比值pixel_max_row为5/6,第四比值pixel_cont_row为2/3,第二相对位置值loc_max_row为5/16,则由于控件单元A的列特征信息满足列溢出条件pixel_max_col>0.6,pixel_cont_col>0.5,0.05<loc_max_col<0.95,且行特征信息满足行溢出条件pixel_max_row>0.6,pixel_cont_row>0.5,0.05<loc_max_row<0.95,因此测试终端确定控件单元A的控件文本从控件单元A的控件元素溢出。
子步骤3043、确定目标控件单元的控件文本未从目标控件单元的控件元素溢出。
若在子步骤3041中测试终端确定目标控件单元的列特征信息不满足列溢出条件,或,目标控件单元的行特征信息不满足行溢出条件,则测试终端确定目标控件单元的控件文本未从目标控件单元的控件元素溢出。
步骤305、确定目标控件单元存在显示异常。
若在步骤304中测试终端确定目标控件单元的控件文本从目标控件单元的控件元素溢出,则测试终端确定目标控件单元存在显示异常。示例地,由于控件单元A的控件文本从控件单元A的控件元素溢出,因此测试终端确定控件单元A存在显示异常。
步骤306、确定目标控件单元不存在显示异常。
若在步骤304中测试终端确定目标控件单元的控件文本未从目标控件单元的控件元素溢出,则测试终端确定目标控件单元不存在显示异常。
步骤307、对目标控件单元的图像进行颜色特征提取,得到目标控件单元的颜色特征信息。
请参考图8,其示出了本申请实施例提供的一种对目标控件单元的图像进行颜色特征提取的方法流程图,参见图8,该方法可以包括:
子步骤3071、对目标控件单元的图像进行彩色特征提取,得到目标控件单元的彩色特征信息。
可选地,步骤302中获取的目标控件单元的图像可以是彩色图像,测试终端可以对该目标控件单元的图像进行彩色特征提取,得到该目标控件单元的彩色特征信息,其中,该彩色特征信息可以包括:目标文本区域的面积与控件文本区域的面积的第五比值ratio_in,目标文本区域的背景颜色的三基色通道中每种基色通道的平均值(包括红色通道的平均值avg_r_in,绿色通道的平均值avg_g_in和蓝色通道的平均值avg_b_in),非目标文本区域的三基色通道中每种基色通道的平均值(包括红色通道的平均值avg_r_out,绿色通道的平均值avg_g_out和蓝色通道的平均值avg_b_out)。其中,控件文本区域包括目标文本区域和非目标文本区域,目标文本区域的背景颜色与非目标文本区域的背景颜色不同,且目标文本区域的面积小于非目标文本区域的面积,控件文本区域为目标控件单元的控件文本所在的区域,也即是控件文本的最小外接矩形所占的区域,目标文本区域为控件文本中的目标文本的最小外接矩形所占的区域,非目标文本区域为控件文本中的非目标文本的最小外接矩形所占的区域。avg_r_in可以是目标文本区域的所有像素的红色分量之和与目标文本区域的所有像素数量的比值,avg_g_in,avg_b_in,avg_r_out,avg_g_out和avg_b_out的含义与avg_r_in类似,本申请实施例在此不再赘述。
示例地,请参考图9,其示出了本申请实施例提供的一种对目标控件单元的图像进行彩色特征提取的示意图,该图9以目标控件单元为控件单元B,且以控件单元B中的控件元素为B1,控件文本为“这是一个例子,控件文本的颜色与控件元素的背景颜色相近导致难以识别。”为例进行说明,如图9所示,控件文本区域包括目标文本区域Q1和非目标文本区域Q2,该目标文本区域Q1为目标文本“识别。”的最小外接矩形区域所在区域,该非目标文本区域Q2为非目标文本“这是一个例子,控件文本的颜色与控件元素的背景颜色相近导致难以”的最小外接矩形所占区域,测试终端对该控件单元B的图像进行彩色特征提取,得到该控件单元B的彩色特征信息可以包括:目标文本区域Q1的面积与控件文本区域(也即是目标文本区域Q1和非目标文本区域Q2)的面积的第五比值ratio_in,目标文本区域Q1的背景颜色的红色通道的平均值avg_r_in,绿色通道的平均值avg_g_in和蓝色通道的平均值avg_b_in,非目标区域Q2的背景颜色的红色通道平均值avg_r_out,绿色通道的平均值avg_g_out和蓝色通道的平均值avg_b_out。
子步骤3072、将目标控件单元的图像转换成二值化图像。
测试终端可以先将目标控件单元的图像转换为灰度图像,然后对该灰度图像进行二值化处理,得到目标控件单元的二值化图像。可选地,测试终端可以通过OTSU(大津法或最大类间方差法)对目标控件单元的灰度图像进行二值化处理,得到目标控件单元的二值化图像。
示例地,测试终端可以先将图9所示的控件单元B的图像转换为灰度图像,然后通过OTSU对该灰度图像进行二值化处理,得到该控件单元B的二值化图像可以如图10所示。
子步骤3073、对目标控件单元的二值化图像进行黑白特征提取,得到目标控件单元的黑白特征信息。
可选地,测试终端可以对目标控件单元的二值化图像进行黑白特征提取,得到该目标控件单元的黑白特征信息。其中,该黑白特征信息可以包括:控件文本区域中的黑色像素点的数量与控件文本区域中的所有像素点的数量的第六比值ratio_black,和,控件文本区域中的白色像素点的数量与控件文本区域中的所有像素点的数量的第七比值ratio_white。其中,控件文本区域为目标控件单元的控件文本所在的区域,也即是控件文本的最小外接矩形所占的区域。
示例地,以对图10所示的控件单元B的二值化图像进行黑白特征提取为例,则测试终端对图10所示的控件单元B的二值化图像进行黑白特征提取,得到的该控件单元B的黑白特征信息可以包括控件文本区域中的黑色像素点的数量与该控件文本区域中的所有像素点的数量的第六比值ratio_black,和,该控件文本区域中的白色像素点的数量与该控件文本区域中的所有像素点的数量的第七比值ratio_white。
步骤308、根据目标控件单元的颜色特征信息,检测目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色是否相近。当目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色相近时,执行步骤309,当目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色不相近时,执行步骤310。
请参考图11,其示出了本申请实施例提供的一种检测目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色是否相近的方法流程图,参见图11,该方法可以包括:
子步骤3081、检测颜色特征信息是否满足目标颜色条件。当颜色特征信息满足目标颜色条件时,执行子步骤3082,当颜色特征信息不满足目标颜色条件时,执行子步骤3083。
其中,目标颜色条件可以包括:目标彩色条件和目标黑白条件中的至少一种,因此检测颜色特征信息是否满足目标颜色条件也即是检测彩色特征信息是否满足目标彩色条件,以及检测黑白特征信息是否满足目标黑白条件。其中,目标彩色条件可以包括:目标文本区域的面积与控件文本区域的面积的第五比值ratio_in大于第五比值阈值,且,第一差异值d_color大于目标差异值阈值,该第一差异值为非目标文本区域的背景颜色与目标文本区域的背景颜色的三基色通道的平均值的差值之和,也即是,d_color=|avg_r_in-avg_r_out|+|avg_g_in-avg_g_out|+|avg_b_in-avg_b_out|;黑白颜色条件可以包括:第六比值ratio_black与第七比值ratio_white的差值大于目标差值阈值,且,控件文本区域中的黑色像素点的数量与控件文本区域中的所有像素点的数量的第六比值ratio_black大于第六比值阈值。
容易理解,第五比值阈值、第六比值阈值、目标差异值阈值以及目标差值阈值均可以根据实际情况设置,示例地,第五比值阈值和第六比值阈值均为0.05,目标差异值阈值为150,目标差值阈值为0.3,也即是,目标彩色条件可以包括:ratio_in>0.05,d_color>150,目标黑白条件可以包括:|ratio_black-ratio_white|>0.3,ratio_black>0.05。
本领域技术人员容易理解,检测彩色特征信息是否满足目标彩色条件以及检测黑白特征信息是否满足目标黑白条件的过程可以同时执行,也可以按照先后顺序执行,当检测彩色特征信息是否满足目标彩色条件以及检测黑白特征信息是否满足目标黑白条件的过程按照先后顺序执行,若在前执行的检测过程已经满足相应地条件,则可以无需执行在后的检测过程。例如,若先执行检测彩色特征信息是否满足目标彩色条件的过程,后执行检测黑白特征信息是否满足目标黑白条件的过程,如果确定彩色特征信息满足目标彩色条件,则可以无需执行检测黑白特征信息是否满足目标黑白条件的过程,这样一来,可以简化检测过程。当然,也可以两个检测过程都执行,本申请实施例对此不作限定。
子步骤3082、确定目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色相近。
若在子步骤3081中测试终端确定目标控件单元的彩色特征信息满足目标彩色条件,和/或,黑白特征信息满足目标黑白条件,则测试终端确定目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色相近。
示例地,假设控件单元B的彩色特征信息满足目标彩色条件ratio_in>0.05,d_color>150,和/或,控件单元B的黑白特征信息满足目标黑白条件|ratio_black-ratio_white|>0.3,ratio_black>0.05,则测试终端确定控件单元B的控件文本的颜色与控件单元B的控件元素的背景颜色相近。
子步骤3083、确定目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色不相近。
若在子步骤3081中测试终端确定目标控件单元的彩色特征信息不满足目标彩色条件,或,黑白特征信息不满足目标黑白条件,则测试终端确定目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色不相近。
步骤309、确定目标控件单元存在显示异常。
若在步骤308中测试终端确定目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色相近,则测试终端确定目标控件单元存在显示异常。示例地,由于控件单元B的控件文本与控件单元B的控件元素的背景颜色相近,因此测试终端确定控件单元B存在显示异常。
步骤310、确定目标控件单元不存在显示异常。
若在步骤308中测试终端确定目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色不相近,则测试终端确定目标控件单元不存在显示异常。
需要说明的是,本申请实施例提供的控件单元检测方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
综上所述,本申请实施例提供的控件单元检测方法,测试终端获取目标控件单元的图像后,对目标控件单元的图像进行特征提取得到目标控件单元的图像特征信息,然后根据目标控件单元的图像特征信息对目标控件单元进行显示异常检测。相比于人工检测的方式,本申请提供的方案可以提高控件单元检测的准确性,减少人力投入,降低检测的人力成本。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图12,其示出了本申请实施例提供的一种控件单元检测装置1200的框图,该控件单元检测装置1200可以为测试终端中的功能组件。参见图12,该控件单元检测装置1200可以包括但不限于:
获取模块1210,用于获取目标控件单元的图像,该目标控件单元为目标应用程序中的任一控件单元,该目标应用程序中的每个控件单元包括控件元素和控件文本,控件文本显示在控件元素中;
提取模块1220,用于对该目标控件单元的图像进行特征提取,得到该目标控件单元的图像特征信息;
检测模块1230,用于根据该目标控件单元的图像特征信息,对该目标控件单元进行显示异常检测。
综上所述,本申请实施例提供的控件单元检测装置,获取模块获取目标控件单元的图像后,提取模块对目标控件单元的图像进行特征提取得到目标控件单元的图像特征信息,检测模块根据目标控件单元的图像特征信息对目标控件单元进行显示异常检测。相比于人工检测的方式,本申请提供的方案可以提高控件单元检测的准确性,减少人力投入,降低检测的人力成本。
可选地,请参考图13,其示出了本申请实施例提供的一种提取模块1220的框图,如图13所示,该提取模块1220包括:边缘提取单元1221a,用于对目标控件单元的图像进行边缘特征提取,得到该目标控件单元的边缘特征信息;
相应地,请参考图14,其示出了本申请实施例提供的一种检测模块1230的框图,如图14所示,该检测模块1230可以包括:
边缘检测单元1231a,用于根据目标控件单元的边缘特征信息,检测该目标控件单元的控件文本是否从该目标控件单元的控件元素溢出;
溢出确定单元1232a,用于当目标控件单元的控件文本从该目标控件单元的控件元素溢出时,确定该目标控件单元存在显示异常。
可选地,边缘提取单元1221a,用于:
将目标控件单元的图像转换成黑白图像;
对该目标控件单元的黑白图像进行边缘特征提取,得到该目标控件单元的边缘特征信息;
相应地,边缘检测单元1231a,用于:
检测边缘特征信息是否满足目标溢出条件;
当该边缘特征信息满足目标溢出条件时,确定该目标控件单元的控件文本从该目标控件单元的控件元素溢出。
可选地,边缘特征信息包括列特征信息和行特征信息,
列特征信息包括:目标像素列中的白色像素点的数量与目标像素列中的所有像素点的数量的第一比值,目标像素列中的白色像素点的最大连续长度与目标像素列的长度的第二比值,和,目标像素列在黑白图像中的第一相对位置值,目标像素列为黑白图像中含白色像素点最多的列;
行特征信息包括:目标像素行中的白色像素点的数量与目标像素行中的所有像素点的数量的第三比值,目标像素行中的白色像素点的最大连续长度与目标像素行的长度的第四比值,和,目标像素行在黑白图像中的第二相对位置值,目标像素行为黑白图像中含白色像素点最多的行;
目标溢出条件包括列溢出条件和行溢出条件中的至少一种,
列溢出条件包括:所述第一比值大于第一比值阈值,所述第二比值大于第二比值阈值,且,所述第一相对位置值属于第一位置值范围;
行溢出条件包括:所述第三比值大于第三比值阈值,所述第四比值大于第四比值阈值,且,所述第二相对位置值属于第二位置值范围。
可选地,请参考图15,其示出了本申请实施例提供的另一种提取模块1220的框图,如图15所示,该提取模块1220包括:颜色提取单元1221b,用于对目标控件单元的图像进行颜色特征提取,得到该目标控件单元的颜色特征信息;
相应地,请参考图16,其示出了本申请实施例提供的另一种检测模块1230的框图,如图16所示,该检测模块1230可以包括:
颜色检测单元1231b,用于根据目标控件单元的颜色特征信息,检测该目标控件单元的控件文本的颜色与该目标控件单元的控件元素的背景颜色是否相近;
颜色确定单元1232b,用于当目标控件单元的控件文本的颜色与该目标控件单元的控件元素的背景颜色相近时,确定该目标控件单元存在显示异常。
可选地,颜色提取单元1221b,用于:
对目标控件单元的图像进行彩色特征提取,得到该目标控件单元的彩色特征信息;
将该目标控件单元的图像转换成二值化图像;
对该目标控件单元的二值化图像进行黑白特征提取,得到该目标控件单元的黑白特征信息;
相应地,颜色检测单元1231b,用于:
检测颜色特征信息是否满足目标颜色条件;
当该颜色特征信息满足目标颜色条件时,确定该目标控件单元的控件文本的颜色与目标控件单元的控件元素的背景颜色相近。
可选地,彩色特征信息包括:目标文本区域的面积与控件文本区域的面积的第五比值,目标文本区域的背景颜色的三基色通道中每种基色通道的平均值,非目标文本区域的三基色通道中每种基色通道的平均值,控件文本区域包括目标文本区域和非目标文本区域,目标文本区域的背景颜色与非目标文本区域的背景颜色不同,且目标文本区域的面积小于非目标区域的面积,控件文本区域为目标控件单元的控件文本所在的区域;
黑白特征信息包括:控件文本区域中的黑色像素点的数量与控件文本区域中的所有像素点的数量的第六比值,以及,控件文本区域中的白色像素点的数量与控件文本区域中的所有像素点的数量的第七比值;
目标颜色条件包括目标彩色条件和目标黑白条件中的至少一种,
目标彩色条件包括:所述第五比值大于第五比值阈值,且,第一差异值大于目标差异值阈值,第一差异值为非目标文本区域的背景颜色与目标文本区域的背景颜色的三基色通道的平均值的差值之和;
黑白颜色条件包括:所述第六比值与所述第七比值的差值大于目标差值阈值,且,所述第六比值大于第六比值阈值。
可选地,获取模块1210,用于:
获取目标应用程序的各个用户界面的图像,目标应用程序的用户界面包括目标用户界面,目标控件单元位于目标用户界面中;
从目标用户界面的图像中,获取目标控件单元的图像。
综上所述,本申请实施例提供的控件单元检测装置,获取模块获取目标控件单元的图像后,提取模块对目标控件单元的图像进行特征提取得到目标控件单元的图像特征信息,检测模块根据目标控件单元的图像特征信息对目标控件单元进行显示异常检测。相比于人工检测的方式,本申请提供的方案可以提高控件单元检测的准确性,减少人力投入,降低检测的人力成本。
请参考图17,其示出了本申请实施例提供的一种终端1700的结构框图。该终端1700可以是智能手机、平板电脑、笔记本电脑或台式电脑等终端。该终端1700还可能被称为用户设备、便携式终端、膝上型终端或台式终端等其他名称。
通常,终端1700包括有:处理器1701和存储器1702。
处理器1701可以包括一个或多个处理核心,比如4核心处理器、17核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1701所执行以实现本申请实施例提供的控件单元检测方法。
在一些实施例中,终端1700还可选包括有:外围设备接口1703和至少一个外围设备。处理器1701、存储器1702和外围设备接口1703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1703相连。具体地,外围设备包括:射频电路1704、触摸显示屏1705、摄像头1706、音频电路1707、定位组件1708和电源1709中的至少一种。
外围设备接口1703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1701和存储器1702。在一些实施例中,处理器1701、存储器1702和外围设备接口1703被集成在同一芯片或电路板上;在一些其他实施例中,处理器1701、存储器1702和外围设备接口1703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1705用于显示UI。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1705是触摸显示屏时,显示屏1705还具有采集在显示屏1705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1701进行处理。此时,显示屏1705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1705可以为一个,设置在终端1700的前面板;在另一些实施例中,显示屏1705可以为至少两个,分别设置在终端1700的不同表面或呈折叠设计;在另一些实施例中,显示屏1705可以是柔性显示屏,设置在终端1700的弯曲表面上或折叠面上。甚至,显示屏1705还可以设置成非矩形的不规则图形,也即异形屏。显示屏1705可以采用LCD(Liquid CrystalDisplay,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1706用于采集图像或视频。可选地,摄像头组件1706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1701进行处理,或者输入至射频电路1704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1701或射频电路1704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1707还可以包括耳机插孔。
定位组件1708用于定位终端1700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1709用于为终端1700中的各个组件进行供电。电源1709可以是交流电、直流电、一次性电池或可充电电池。当电源1709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。可充电电池还可以用于支持快充技术。
在一些实施例中,终端1700还包括有一个或多个传感器1710。该一个或多个传感器1710包括但不限于:加速度传感器1711、陀螺仪传感器1712、压力传感器1713、指纹传感器1714、光学传感器1715以及接近传感器1716。
加速度传感器1711可以检测以终端1700建立的坐标系的三个位置坐标轴上的加速度大小。比如,加速度传感器1711可以用于检测重力加速度在三个位置坐标轴上的分量。处理器1701可以根据加速度传感器1711采集的重力加速度信号,控制触摸显示屏1705以横向视图或纵向视图进行用户界面的显示。加速度传感器1711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1712可以检测终端1700的机体方向及转动角度,陀螺仪传感器1712可以与加速度传感器1711协同采集用户对终端1700的3D动作。处理器1701根据陀螺仪传感器1712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1713可以设置在终端1700的侧边框和/或触摸显示屏1705的下层。当压力传感器1713设置在终端1700的侧边框时,可以检测用户对终端1700的握持信号,由处理器1701根据压力传感器1713采集的握持信号进行左右手识别或快捷操作。当压力传感器1713设置在触摸显示屏1705的下层时,由处理器1701根据用户对触摸显示屏1705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1714用于采集用户的指纹,由处理器1701根据指纹传感器1714采集到的指纹识别用户的身份,或者,由指纹传感器1714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1714可以被设置终端1700的正面、背面或侧面。当终端1700上设置有物理按键或厂商Logo时,指纹传感器1714可以与物理按键或厂商Logo集成在一起。
光学传感器1715用于采集环境光强度。在一个实施例中,处理器1701可以根据光学传感器1715采集的环境光强度,控制触摸显示屏1705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1705的显示亮度;当环境光强度较低时,调低触摸显示屏1705的显示亮度。在另一个实施例中,处理器1701还可以根据光学传感器1715采集的环境光强度,动态调整摄像头组件1706的拍摄参数。
接近传感器1716,也称距离传感器,通常设置在终端1700的前面板。接近传感器1716用于采集用户与终端1700的正面之间的距离。在一个实施例中,当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变小时,由处理器1701控制触摸显示屏1705从亮屏状态切换为息屏状态;当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变大时,由处理器1701控制触摸显示屏1705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图17中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例中还提供了一种计算机可读存储介质,该存储介质中可以存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述实施例提供的控件单元检测方法。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,E和/或F,可以表示:单独存在E,同时存在E和F,单独存在F这三种情况。
本申请中术语“E和F的至少一种”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,可以表示:单独存在F,同时存在E和F,单独存在F这三种情况。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种控件单元检测方法,其特征在于,用于测试终端,所述方法包括:
获取目标控件单元的图像,所述目标控件单元为目标应用程序中的任一控件单元,所述目标应用程序中的每个所述控件单元包括控件元素和控件文本,所述控件文本显示在所述控件元素中;
对所述目标控件单元的图像进行特征提取,得到所述目标控件单元的图像特征信息,所述图像特征信息包括边缘特征信息,所述边缘特征信息是将所述图像转换成黑白图像后从所述黑白图像中提取的,所述边缘特征信息包括目标像素列中的白色像素点的数量与所述目标像素列中的所有像素点的数量的第一比值,所述目标像素列中的白色像素点的最大连续长度与所述目标像素列的长度的第二比值,和,所述目标像素列在所述黑白图像中的第一相对位置值,所述目标像素列为所述黑白图像中含白色像素点最多的列;
根据所述目标控件单元的图像特征信息,对所述目标控件单元进行显示异常检测,在对所述目标控件单元进行所述显示异常检测的过程中,当所述边缘特征信息满足目标溢出条件时,确定所述目标控件单元存在显示异常,所述目标溢出条件包括所述第一比值大于第一比值阈值,所述第二比值大于第二比值阈值,且所述第一相对位置值属于第一位置值范围。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标控件单元的图像进行特征提取,得到所述目标控件单元的图像特征信息,包括:
将所述目标控件单元的图像转换成所述黑白图像;
对所述黑白图像进行边缘特征提取,得到所述边缘特征信息;
所述根据所述目标控件单元的图像特征信息,对所述目标控件单元进行显示异常检测,包括:
检测所述边缘特征信息是否满足所述目标溢出条件;
当所述边缘特征信息满足所述目标溢出条件时,确定所述目标控件单元的控件文本从所述目标控件单元的控件元素溢出;
当所述目标控件单元的控件文本从所述目标控件单元的控件元素溢出时,确定所述目标控件单元存在显示异常。
3.根据权利要求1所述的方法,其特征在于,
所述边缘特征信息还包括目标像素行中的白色像素点的数量与所述目标像素行中的所有像素点的数量的第三比值,所述目标像素行中的白色像素点的最大连续长度与所述目标像素行的长度的第四比值,和,所述目标像素行在所述黑白图像中的第二相对位置值,所述目标像素行为所述黑白图像中含白色像素点最多的行;
所述目标溢出条件还包括所述第三比值大于第三比值阈值,所述第四比值大于第四比值阈值,且,所述第二相对位置值属于第二位置值范围。
4.根据权利要求1所述的方法,其特征在于,所述对所述目标控件单元的图像进行特征提取,得到所述目标控件单元的图像特征信息,包括:
对所述目标控件单元的图像进行颜色特征提取,得到所述目标控件单元的颜色特征信息;
所述根据所述目标控件单元的图像特征信息,对所述目标控件单元进行显示异常检测,包括:
根据所述目标控件单元的颜色特征信息,检测所述目标控件单元的控件文本的颜色与所述目标控件单元的控件元素的背景颜色是否相近;
当所述目标控件单元的控件文本的颜色与所述目标控件单元的控件元素的背景颜色相近时,确定所述目标控件单元存在显示异常。
5.根据权利要求4所述的方法,其特征在于,
所述对所述目标控件单元的图像进行颜色特征提取,得到所述目标控件单元的颜色特征信息,包括:
对所述目标控件单元的图像进行彩色特征提取,得到所述目标控件单元的彩色特征信息;
将所述目标控件单元的图像转换成二值化图像;
对所述目标控件单元的二值化图像进行黑白特征提取,得到所述目标控件单元的黑白特征信息;
所述根据所述目标控件单元的颜色特征信息,检测所述目标控件单元的控件文本的颜色与所述目标控件单元的控件元素的背景颜色是否相近,包括:
检测所述颜色特征信息是否满足目标颜色条件;
当所述颜色特征信息满足所述目标颜色条件时,确定所述目标控件单元的控件文本的颜色与所述目标控件单元的控件元素的背景颜色相近。
6.根据权利要求5所述的方法,其特征在于,
所述彩色特征信息包括:目标文本区域的面积与控件文本区域的面积的第五比值,所述目标文本区域的背景颜色的三基色通道中每种基色通道的平均值,非目标文本区域的三基色通道中每种基色通道的平均值,所述控件文本区域包括所述目标文本区域和所述非目标文本区域,所述目标文本区域的背景颜色与所述非目标文本区域的背景颜色不同,所述目标文本区域的面积小于所述非目标文本区域的面积,所述控件文本区域为所述目标控件单元的控件文本所在的区域;
所述黑白特征信息包括:所述控件文本区域中的黑色像素点的数量与所述控件文本区域中的所有像素点的数量的第六比值,和,所述控件文本区域中的白色像素点的数量与所述控件文本区域中的所有像素点的数量的第七比值;
所述目标颜色条件包括目标彩色条件和目标黑白条件中的至少一种,
所述目标彩色条件包括:所述第五比值大于第五比值阈值,且,第一差异值大于目标差异值阈值,所述第一差异值为所述非目标文本区域的背景颜色与所述目标文本区域的背景颜色的三基色通道的平均值的差值之和;
所述目标黑白条件包括:所述第六比值与所述第七比值的差值大于目标差值阈值,且,所述第六比值大于第六比值阈值。
7.根据权利要求1至6任一所述的方法,其特征在于,
所述获取目标控件单元的图像,包括:
获取所述目标应用程序的各个用户界面的图像,所述目标应用程序的用户界面包括目标用户界面,所述目标控件单元位于所述目标用户界面中;
从所述目标用户界面的图像中,获取所述目标控件单元的图像。
8.一种控件单元检测装置,其特征在于,用于测试终端,所述装置包括:
获取模块,用于获取目标控件单元的图像,所述目标控件单元为目标应用程序中的任一控件单元,所述目标应用程序中的每个所述控件单元包括控件元素和控件文本,所述控件文本显示在所述控件元素中;
提取模块,用于对所述目标控件单元的图像进行特征提取,得到所述目标控件单元的图像特征信息,所述图像特征信息包括边缘特征信息,所述边缘特征信息是将所述图像转换成黑白图像后从所述黑白图像中提取的,所述边缘特征信息包括目标像素列中的白色像素点的数量与所述目标像素列中的所有像素点的数量的第一比值,所述目标像素列中的白色像素点的最大连续长度与所述目标像素列的长度的第二比值,和,所述目标像素列在所述黑白图像中的第一相对位置值,所述目标像素列为所述黑白图像中含白色像素点最多的列;
检测模块,用于根据所述目标控件单元的图像特征信息,对所述目标控件单元进行显示异常检测,在对所述目标控件单元进行所述显示异常检测的过程中,当所述边缘特征信息满足目标溢出条件时,确定所述目标控件单元存在显示异常,所述目标溢出条件包括所述第一比值大于第一比值阈值,所述第二比值大于第二比值阈值,且,所述第一相对位置值属于第一位置值范围。
9.一种终端,其特征在于,所述终端包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的控件单元检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的控件单元检测方法。
CN201910713313.4A 2019-08-02 2019-08-02 控件单元检测方法及装置 Active CN110442521B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910713313.4A CN110442521B (zh) 2019-08-02 2019-08-02 控件单元检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910713313.4A CN110442521B (zh) 2019-08-02 2019-08-02 控件单元检测方法及装置

Publications (2)

Publication Number Publication Date
CN110442521A CN110442521A (zh) 2019-11-12
CN110442521B true CN110442521B (zh) 2023-06-27

Family

ID=68433089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910713313.4A Active CN110442521B (zh) 2019-08-02 2019-08-02 控件单元检测方法及装置

Country Status (1)

Country Link
CN (1) CN110442521B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078552A (zh) * 2019-12-16 2020-04-28 腾讯科技(深圳)有限公司 页面显示异常的检测方法、装置及存储介质
CN111530083B (zh) * 2020-05-26 2023-09-08 网易(杭州)网络有限公司 一种界面检查的方法及装置
CN111930622B (zh) * 2020-08-10 2023-10-13 中国工商银行股份有限公司 基于深度学习的界面控件测试方法及系统
CN112926420B (zh) * 2021-02-09 2022-11-08 海信视像科技股份有限公司 一种显示设备和菜单文字识别方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1885115A2 (en) * 2006-08-03 2008-02-06 Ricoh Company, Ltd. Image processing apparatus, computer program product, and preview image displaying method.
CN104766076A (zh) * 2015-02-28 2015-07-08 北京奇艺世纪科技有限公司 一种视频图像文字的检测方法和装置
WO2016017130A1 (en) * 2014-07-31 2016-02-04 Seiko Epson Corporation Display device, method of controlling display device, and program
CN105868758A (zh) * 2015-01-21 2016-08-17 阿里巴巴集团控股有限公司 图像中文本区域检测方法、装置及电子设备
CN106875408A (zh) * 2017-02-27 2017-06-20 网易(杭州)网络有限公司 用于截图的方法、装置及终端设备
CN107248134A (zh) * 2017-04-25 2017-10-13 李晓妮 一种文本文档中的信息隐藏方法和装置
CN107563377A (zh) * 2017-08-30 2018-01-09 江苏实达迪美数据处理有限公司 一种利用边缘和文字区域的证件关键区域检测定位方法
KR101831204B1 (ko) * 2017-04-11 2018-02-22 주식회사 한글과컴퓨터 문서 영역 분할 방법 및 장치
WO2018120238A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 用于处理文档的设备、方法和图形用户界面
CN109324977A (zh) * 2018-10-31 2019-02-12 北京微播视界科技有限公司 应用程序卡顿的检测方法、装置及电子设备
CN109410169A (zh) * 2018-09-11 2019-03-01 广东智媒云图科技股份有限公司 一种图像背景干扰度的识别方法及装置
CN109409377A (zh) * 2018-12-03 2019-03-01 龙马智芯(珠海横琴)科技有限公司 图像中文字的检测方法及装置
CN109597755A (zh) * 2018-10-25 2019-04-09 东软集团股份有限公司 文本显示的检测方法、装置、存储介质和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846634B2 (en) * 2014-06-25 2017-12-19 Vmware, Inc. Visual graphical user interface verification
US20180064335A1 (en) * 2014-11-18 2018-03-08 Elwha Llc Retinal imager device and system with edge processing
US20180107580A1 (en) * 2016-10-14 2018-04-19 Microsoft Technology Licensing, Llc Metadata enabled comparison of user interfaces

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1885115A2 (en) * 2006-08-03 2008-02-06 Ricoh Company, Ltd. Image processing apparatus, computer program product, and preview image displaying method.
WO2016017130A1 (en) * 2014-07-31 2016-02-04 Seiko Epson Corporation Display device, method of controlling display device, and program
CN105868758A (zh) * 2015-01-21 2016-08-17 阿里巴巴集团控股有限公司 图像中文本区域检测方法、装置及电子设备
CN104766076A (zh) * 2015-02-28 2015-07-08 北京奇艺世纪科技有限公司 一种视频图像文字的检测方法和装置
WO2018120238A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 用于处理文档的设备、方法和图形用户界面
CN106875408A (zh) * 2017-02-27 2017-06-20 网易(杭州)网络有限公司 用于截图的方法、装置及终端设备
KR101831204B1 (ko) * 2017-04-11 2018-02-22 주식회사 한글과컴퓨터 문서 영역 분할 방법 및 장치
CN107248134A (zh) * 2017-04-25 2017-10-13 李晓妮 一种文本文档中的信息隐藏方法和装置
CN107563377A (zh) * 2017-08-30 2018-01-09 江苏实达迪美数据处理有限公司 一种利用边缘和文字区域的证件关键区域检测定位方法
CN109410169A (zh) * 2018-09-11 2019-03-01 广东智媒云图科技股份有限公司 一种图像背景干扰度的识别方法及装置
CN109597755A (zh) * 2018-10-25 2019-04-09 东软集团股份有限公司 文本显示的检测方法、装置、存储介质和电子设备
CN109324977A (zh) * 2018-10-31 2019-02-12 北京微播视界科技有限公司 应用程序卡顿的检测方法、装置及电子设备
CN109409377A (zh) * 2018-12-03 2019-03-01 龙马智芯(珠海横琴)科技有限公司 图像中文字的检测方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于边缘检测和特征融合的自然场景文本定位;王梦迪;张友梅;常发亮;;计算机科学(第09期);全文 *

Also Published As

Publication number Publication date
CN110442521A (zh) 2019-11-12

Similar Documents

Publication Publication Date Title
CN109829456B (zh) 图像识别方法、装置及终端
CN110442521B (zh) 控件单元检测方法及装置
CN109815150B (zh) 应用测试方法、装置、电子设备及存储介质
CN110795019B (zh) 软键盘的按键识别方法、装置及存储介质
CN109886208B (zh) 物体检测的方法、装置、计算机设备及存储介质
CN108132790B (zh) 检测无用代码的方法、装置及计算机存储介质
US11386586B2 (en) Method and electronic device for adding virtual item
CN113627413B (zh) 数据标注方法、图像比对方法及装置
CN111754386B (zh) 图像区域屏蔽方法、装置、设备及存储介质
CN108734662B (zh) 显示图标的方法和装置
CN114494469A (zh) 图像处理方法、装置、设备及存储介质
CN110738185B (zh) 表单对象的识别方法、装置及存储介质
CN112749590B (zh) 目标检测方法、装置、计算机设备和计算机可读存储介质
CN111586279B (zh) 确定拍摄状态的方法、装置、设备及存储介质
CN111857793B (zh) 网络模型的训练方法、装置、设备及存储介质
CN109754439B (zh) 标定方法、装置、电子设备及介质
CN109189290B (zh) 点击区域识别方法、装置和计算机可读存储介质
CN111860064B (zh) 基于视频的目标检测方法、装置、设备及存储介质
CN110163192B (zh) 字符识别方法、装置及可读介质
CN113592874B (zh) 图像显示方法、装置和计算机设备
CN111723615B (zh) 对检测物图像进行检测物匹配判定的方法和装置
CN112184802B (zh) 标定框的调整方法、装置及存储介质
CN112732133A (zh) 消息处理的方法、装置、电子设备及存储介质
CN112308104A (zh) 异常识别方法、装置及计算机存储介质
CN111860030A (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
GR01 Patent grant