CN105302715B - 应用程序用户界面的获取方法和装置 - Google Patents
应用程序用户界面的获取方法和装置 Download PDFInfo
- Publication number
- CN105302715B CN105302715B CN201410370553.6A CN201410370553A CN105302715B CN 105302715 B CN105302715 B CN 105302715B CN 201410370553 A CN201410370553 A CN 201410370553A CN 105302715 B CN105302715 B CN 105302715B
- Authority
- CN
- China
- Prior art keywords
- interface
- sub
- grayscale image
- pixel
- target area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种应用程序用户界面的获取方法和装置。其中,获取方法包括:确定步骤:确定应用程序的当前界面;遍历步骤:遍历地将触发指令下发至当前界面上的每个目标区域;每下发触发指令至一个目标区域后,获取一次触发指令对当前界面进行操作后的子界面;对比子界面与子界面的父界面,以确定子界面的类型;在确定出子界面的类型为第一类型的情况下,返回遍历步骤;在确定出子界面的类型为第二类型的情况下,确定子界面为当前界面,并返回遍历步骤。通过本发明,解决了现有技术中应用程序用户界面的获取方案的通用性较低的技术问题,进而达到了提高用户界面获取方案的通用性的效果。
Description
技术领域
本发明涉及用户界面领域,具体而言,涉及一种应用程序用户界面的获取方法和装置。
背景技术
在国际化手机游戏客户端测试中,需要对引用程序每个界面进行用户界面(UserInterface,简称UI)检查,这项检查需要人工进行重复、繁琐的操作,操作过程中容易造成场景遗漏。
目前,有一种使用robotium框架,在有源码的情况下对应用程序的界面进行获取,不过此种检查方式必须人工指定测试路径,并且无法对所有程序通用。在无源码的情况下,目前已有的测试框架均只支持标准控件的检测,对手机游戏这类以自绘控件为主的程序并不适用,使得现有的获取用户界面的方案的通用性较低。
针对相关技术中应用程序用户界面的获取方案的通用性较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用程序用户界面的获取方法和装置,以至少解决现有技术中应用程序用户界面的获取方案的通用性较低的技术问题。
根据本发明实施例的一个方面,提供了一种应用程序用户界面的获取方法。
根据本发明实施例的应用程序用户界面的获取方法包括:确定步骤:确定所述应用程序的当前界面,其中,所述当前界面的起始界面为所述应用程序的主界面;遍历步骤:遍历地将触发指令下发至所述当前界面上的每个目标区域,直至所述当前界面上的所述目标区域均完成所述触发指令指示的操作,其中,所述目标区域为接收触发指令以对所述当前界面进行操作的区域;获取步骤:每下发所述触发指令至一个所述目标区域后,获取一次所述触发指令对所述当前界面进行操作后的子界面;对比步骤:对比所述子界面与所述子界面的父界面,以确定所述子界面的类型;第一返回步骤:在确定出所述子界面的类型为第一类型的情况下,返回所述遍历步骤,其中,所述第一类型表示所述子界面为界面集中的任一界面,所述界面集为在获取所述子界面之前获取到的界面的集合;以及第二返回步骤:在确定出所述子界面的类型为第二类型的情况下,确定所述子界面为所述当前界面,并返回所述遍历步骤,其中,所述第二类型表示所述子界面与所述界面集中的任一界面均不相同。
根据本发明实施例的一个方面,提供了一种应用程序用户界面的获取装置。
根据本发明实施例的应用程序用户界面的获取装置包括:确定单元,用于确定所述应用程序的当前界面,其中,所述当前界面的起始界面为所述应用程序的主界面;遍历单元,用于遍历地将触发指令下发至所述当前界面上的每个目标区域,直至所述当前界面上的所述目标区域均完成所述触发指令指示的操作,其中,所述目标区域为接收触发指令以对所述当前界面进行操作的区域;获取单元,用于每下发所述触发指令至一个所述目标区域后,获取一次所述触发指令对所述当前界面进行操作后的子界面;对比单元,用于对比所述子界面与所述子界面的父界面,以确定所述子界面的类型;第一返回单元,用于在确定出所述子界面的类型为第一类型的情况下,返回所述遍历单元,其中,所述第一类型表示所述子界面为界面集中的任一界面,所述界面集为在获取所述子界面之前获取到的界面的集合;以及第二返回单元,用于在确定出所述子界面的类型为第二类型的情况下,确定所述子界面为所述当前界面,并返回所述遍历单元,其中,所述第二类型表示所述子界面与所述界面集中的任一界面均不相同。
在本发明实施例中,采用确定步骤:确定所述应用程序的当前界面,其中,所述当前界面的起始界面为所述应用程序的主界面;遍历步骤:遍历地将触发指令下发至所述当前界面上的每个目标区域,直至所述当前界面上的所述目标区域均完成所述触发指令指示的操作,其中,所述目标区域为接收触发指令以对所述当前界面进行操作的区域;获取步骤:每下发所述触发指令至一个所述目标区域后,获取一次所述触发指令对所述当前界面进行操作后的子界面;对比步骤:对比所述子界面与所述子界面的父界面,以确定所述子界面的类型;第一返回步骤:在确定出所述子界面的类型为第一类型的情况下,返回所述遍历步骤,其中,所述第一类型表示所述子界面为界面集中的任一界面,所述界面集为在获取所述子界面之前获取到的界面的集合;以及第二返回步骤:在确定出所述子界面的类型为第二类型的情况下,确定所述子界面为所述当前界面,并返回所述遍历步骤,其中,所述第二类型表示所述子界面与所述界面集中的任一界面均不相同。通过遍历地将触发指令下发至当前界面上的每个目标区域,实现了模拟人工对应用程序界面上的控件进行逐个点击,并获取点击后的用户界面,将得到的界面与已有界面进行比较、排重、建立父子关系,逐步得到被测试应用程序的UI树,UI树中的每个节点代表应用程序的一个界面,实现了在遍历下发触发指令的过程中得到应用程序的用户界面。此种基于下发触发指令至目标区域的界面获取方案,既不依赖源代码,也不依赖标准控制,实现了在只有APK的情况下即可对应用程序上的控件进行操作,对所有应用程序都具有通用性,解决了现有技术中应用程序用户界面的获取方案的通用性较低的技术问题,进而达到了提高用户界面获取方案的通用性的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是应用本发明实施例的应用程序用户界面的获取方法的硬件环境图;
图2是根据本发明实施例的应用程序用户界面的获取方法的流程图;
图3是根据本发明优选实施例的应用程序用户界面的获取方法的流程图;
图4是根据本发明实施例的应用程序用户界面的获取装置的示意图;
图5是根据本发明优选实施例的应用程序用户界面的获取装置的示意图;以及
图6是实施本发明实施例的应用程序用户界面的获取方法的终端的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
对本发明实施例中所涉及的技术术语做如下解释:
UI:即User Interface(用户界面)的简称;
UiAutomator:JAVA类库,包含一些自定义的UI功能测试,用以自动化和跑testcase的引擎;
APK:AndroidPackage的缩写,即Android安装包。
实施例1
根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种应用程序用户界面的获取方法。
可选地,在本实施例中,上述应用程序用户界面的获取方法可以应用于如图1所示的手机终端102和测试终端104所构成的硬件环境中。如图1所示,手机终端102通过网络或数据线与测试终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网。在本发明实施例中,应用程序用户界面的获取方法以UIAutomator自动化测试框架为基础,手机终端102应该是系统版本高于4.0的安卓手机。
图2是根据本发明实施例的应用程序用户界面的获取方法的流程图,如图2所示,该应用程序用户界面的获取方法主要包括如下步骤S201至步骤S211:
S201(确定步骤):确定应用程序的当前界面,其中,当前界面的起始界面为应用程序的主界面,即,在对用户界面进行获取检查过程中,可以先设定安装在手机终端102上的应用程序的主界面为当前界面的起始界面。
S203(遍历步骤):遍历地将触发指令下发至当前界面上的每个目标区域,直至当前界面上的目标区域均完成触发指令指示的操作,其中,目标区域为接收触发指令以对当前界面进行操作的区域,即,目标区域为接收触发指令对当前界面进行操作的区域,实质上就是控件所在的区域,下发触发指令至目标区域即是对控制进行点击。
S205(获取步骤):每下发触发指令至一个目标区域后,获取一次触发指令对当前界面进行操作后的子界面,即,每对一个控件进行点击后,获取在这次点击后应用程序所显示的界面。
S207(对比步骤):对比子界面与子界面的父界面,以确定子界面的类型。
S209(第一返回步骤):在确定出子界面的类型为第一类型的情况下,返回遍历步骤,其中,第一类型表示子界面为界面集中的任一界面,界面集为在获取子界面之前获取到的界面的集合,即,通过对比子界面与其父界面,确定出子界面为已经存在的界面的话,则返回遍历步骤,以对当前界面上其它控件继续进行遍历检查,实现将得到的界面与已有界面进行比较、排重。
S211(第二返回步骤):在确定出子界面的类型为第二类型的情况下,确定子界面为当前界面,并返回遍历步骤,其中,第二类型表示子界面与界面集中的任一界面均不相同,即,通过对比子界面与其父界面,确定出子界面为新的界面的话,则将新的这个子界面设置为当前界面,然后返回遍历步骤,以对新的当前界面上的控件进行遍历检查。
本发明实施例所提供的应用程序用户界面的获取方法,通过遍历地将触发指令下发至当前界面上的每个目标区域,实现了模拟人工对应用程序界面上的控件进行逐个点击,并获取点击后的用户界面,将得到的界面与已有界面进行比较、排重、建立父子关系,逐步得到被测试应用程序的UI树,UI树中的每个节点代表应用程序的一个界面,实现了在遍历下发触发指令的过程中得到应用程序的用户界面。此种基于下发触发指令至目标区域的界面获取方案,既不依赖源代码,也不依赖标准控制,实现了在只有APK的情况下即可对应用程序上的控件进行操作,对所有应用程序都具有通用性,解决了现有技术中应用程序用户界面的获取方案的通用性较低的技术问题,进而达到了提高用户界面获取方案的通用性的效果。
图3是根据本发明优选实施例的应用程序用户界面的获取方法的流程图,如图3所示,在确定应用程序的当前界面之后,并且在遍历地将触发指令下发至当前界面上的每个目标区域之前,本发明实施例的应用程序用户界面的获取方法还包括提取步骤,该提取步骤主要是根据当前界面的灰度图提取目标区域,也即检测出当前界面上的控件。
本发明实施例提供了一种提取目标区域的实施方式,具体如下:
首先,对当前界面进行灰度化处理,得到当前界面的灰度图,进一步地,在此之前,还可以先将当前界面的原图缩小,进而基于缩小后的当前界面进行灰度化处理,以减少运算,提高速度。
其次,对当前界面的灰度图进行边缘检测,得到边缘图,具体地,可以使用Sobel算子得到当前图像的边缘图。
然后,检测边缘图的四连通区域,并确定检测出的四连通区域为目标区域,为了检测出的目标区域更加精确,可以在检测出四连通区域后,进一步去除小块杂质和大块背景干扰。
本发明实施例还提供了一种对比子界面与子界面的父界面的实施方式,具体如下:
首先,计算子界面与父界面的相似度,其中,可以基于感知哈希算法计算子界面与父界面的相似度,在本发明实施例中,提供了一种具体的计算方式,在以下内容里具体说明。
其次,比较计算出的相似度与第一预设相似度和第二预设相似度的大小,其中,第一预设相似度小于第二预设相似度,在本发明实施例中,可以将第一预设相似度设置为5单位量,将第二预设相似度设置为10单位量。
然后,在比较出计算出的相似度小于第一预设相似度的情况下,确定子界面的类型为第一类型,在比较出计算出的相似度大于第二预设相似度的情况下,确定子界面的类型为第二类型,即,在比较出计算出的相似度小于5的情况下,确定子界面和父界面非常相似,二者为相同的界面,在比较出计算出的相似度大于10的情况下,确定子界面和父界面不相同,子界面为新的界面。
计算子界面与父界面的相似度的一种具体计算方式主要包括如下步骤一至步骤八:
步骤一:对子界面和父界面进行灰度化处理,得到第一灰度图和第二灰度图,其中,第一灰度图为子界面的灰度图,第二灰度图为父界面的灰度图,进一步地,在此之前,还可以先将子界面和父界面的原图缩小,进而基于缩小后的当前界面进行灰度化处理,以减少运算,提高速度。
步骤二:计算组成第一灰度图的像素的灰度平均值,得到第一平均值,并计算组成第二灰度图的像素的灰度平均值,得到第二平均值。
步骤三:比较组成第一灰度图的每个像素的灰度值与第一平均值的大小,比较组成第二灰度图的每个像素的灰度值与第二平均值的大小。
步骤四:标记第一灰度图中的第一像素和第二灰度图中的第一像素的灰度值均为字符1,并标记第一灰度图中的第二像素和第二灰度图中的第二像素的灰度值均为字符0,其中,第一灰度图中的第一像素的灰度值大于或等于第一平均值,第一灰度图中的第二像素的灰度值小于第一平均值,第二灰度图中的第一像素的灰度值大于或等于第二平均值,第二灰度图中的第二像素的灰度值小于第二平均值,即,将灰度值大于或等于平均值的像素记为1,将灰度值小于平均值的像素记为0。
步骤五:确定第一字符串为子界面的指纹,并确定第二字符串为父界面的指纹,其中,第一字符串为以字符1和/或字符0表示的第一灰度图上的像素按照预设顺序组成的字符串,第二字符串为以字符1和/或字符0表示的第二灰度图上的像素按照预设顺序组成的字符串,其中,预设顺序可以是界面的像素排列顺序。
步骤六:比较第一字符串上的第i位字符与第二字符串上的第i位字符是否相同,其中,i依次取1至n,n为第一字符串或第二字符串的字符位数,即,依次比较第一字符串和第二字符串对应位上的字符是否相同。
步骤七:统计第一字符串和第二字符串对应位字符不相同的个数。
步骤八:确定统计出的个数为子界面与父界面的相似度。
优选地,在遍历地将触发指令下发至当前界面上的每个目标区域,直至当前界面上的目标区域均完成触发指令指示的操作之前,本发明优选实施例的应用程序用户界面的获取方法还包括:设置目标区域黑名单,其中,目标区域黑名单包括至少一个目标区域,相应地,在遍历触发指令至当前界面上的目标区域过程中,当需要下发触发指令至某个目标区域所表示的控件时,先判断一下这个控件是否是黑名单中的控件,在判断结果为是的情况下,则跳过下发触发指令至这个控件,也即,在遍历触发指令至当前界面上的目标区域过程中,跳过目标区域黑名单中的目标区域,继续遍历当前界面上的其它控件,直至当前界面上的控件遍历完成,则返回父节点继续遍历控件,直至返回到主界面所处的父节点,在主界面上的控件遍历完成后,整个流程结束。
通过设置控件黑名单,黑名单的设置是为了避免进入某些不必要的界面,以免增加遍历耗时。黑名单的设置项包含控件图片,和控件图片在整个界面中的位置信息。对一个新界面进行计算时,首先会根据黑名单指定位置截取小图与黑名单图片计算相似度,相似度值较小时认为命中黑名单控件,在后续的控件遍历中则会避免点击。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述应用程序用户界面的获取方法的应用程序用户界面的获取装置,该应用程序用户界面的获取装置主要用于执行本发明实施例上述内容所提供的应用程序用户界面的获取方法,以下对本发明实施例所提供的应用程序用户界面的获取装置做具体介绍:
图4是根据本发明实施例的应用程序用户界面的获取装置的示意图,如图4所示,该应用程序用户界面的获取装置主要包括确定单元10、遍历单元20、获取单元30、对比单元40、第一返回单元50和第二返回单元60,其中:
确定单元10用于确定应用程序的当前界面,其中,当前界面的起始界面为应用程序的主界面,即,在对用户界面进行获取检查过程中,可以先设定安装在手机终端102上的应用程序的主界面为当前界面的起始界面。
遍历单元20用于遍历地将触发指令下发至当前界面上的每个目标区域,直至当前界面上的目标区域均完成触发指令指示的操作,其中,目标区域为接收触发指令以对当前界面进行操作的区域,即,目标区域为接收触发指令对当前界面进行操作的区域,实质上就是控件所在的区域,下发触发指令至目标区域即是对控制进行点击。
获取单元30用于每下发触发指令至一个目标区域后,获取一次触发指令对当前界面进行操作后的子界面,即,每对一个控件进行点击后,获取在这次点击后应用程序所显示的界面。
对比单元40用于对比子界面与子界面的父界面,以确定子界面的类型;
第一返回单元50用于在确定出子界面的类型为第一类型的情况下,返回遍历单元,其中,第一类型表示子界面为界面集中的任一界面,界面集为在获取子界面之前获取到的界面的集合,即,通过对比子界面与其父界面,确定出子界面为已经存在的界面的话,则返回遍历步骤,以对当前界面上其它控件继续进行遍历检查,实现将得到的界面与已有界面进行比较、排重。
第二返回单元60用于在确定出子界面的类型为第二类型的情况下,确定子界面为当前界面,并返回遍历单元,其中,第二类型表示子界面与界面集中的任一界面均不相同,即,通过对比子界面与其父界面,确定出子界面为新的界面的话,则将新的这个子界面设置为当前界面,然后返回遍历步骤,以对新的当前界面上的控件进行遍历检查。
本发明实施例所提供的应用程序用户界面的获取装置,通过遍历地将触发指令下发至当前界面上的每个目标区域,实现了模拟人工对应用程序界面上的控件进行逐个点击,并获取点击后的用户界面,将得到的界面与已有界面进行比较、排重、建立父子关系,逐步得到被测试应用程序的UI树,UI树中的每个节点代表应用程序的一个界面,实现了在遍历下发触发指令的过程中得到应用程序的用户界面。此种基于下发触发指令至目标区域的界面获取方案,既不依赖源代码,也不依赖标准控制,实现了在只有APK的情况下即可对应用程序上的控件进行操作,对所有应用程序都具有通用性,解决了现有技术中应用程序用户界面的获取方案的通用性较低的技术问题,进而达到了提高用户界面获取方案的通用性的效果。
进一步地,图5是根据本发明优选实施例的应用程序用户界面的获取装置的示意图,如图5所示,本发明优选实施例的应用程序用户界面的获取装置还包括提取单元70,在确定单元10确定应用程序的当前界面之后,并且在遍历单元20遍历地将触发指令下发至当前界面上的每个目标区域之前,提取单元70用于根据当前界面的灰度图提取目标区域,也即检测出当前界面上的控件。
本发明实施例提供了一种提取单元70的结构组成方式,具体地,提取单元70主要包括处理子单元、第一检测子单元和第二检测子单元,其中:
处理子单元用于对当前界面进行灰度化处理,得到当前界面的灰度图,进一步地,在此之前,还可以通过缩小子单元先将当前界面的原图缩小,进而基于缩小后的当前界面进行灰度化处理,以减少运算,提高速度。
第一检测子单元用于对当前界面的灰度图进行边缘检测,得到边缘图,具体地,可以使用Sobel算子得到当前图像的边缘图。
第二检测子单元用于检测边缘图的四连通区域,并确定检测出的四连通区域为目标区域,为了检测出的目标区域更加精确,可以在检测出四连通区域后,进一步去除小块杂质和大块背景干扰。
对比单元40主要包括计算子单元、比较子单元、第一确定子单元和第二确定子单元,其中:
计算子单元用于计算子界面与父界面的相似度,其中,计算子单元可以基于感知哈希算法计算子界面与父界面的相似度,在本发明实施例中,提供了一种计算子单元的具体结构方式,在以下内容里具体说明。
比较子单元用于比较计算出的相似度与第一预设相似度和第二预设相似度的大小,其中,第一预设相似度小于第二预设相似度,在本发明实施例中,可以将第一预设相似度设置为5单位量,将第二预设相似度设置为10单位量。
第一确定子单元用于在比较出计算出的相似度小于第一预设相似度的情况下,确定子界面的类型为第一类型,即,在比较出计算出的相似度小于5的情况下,确定子界面和父界面非常相似,二者为相同的界面。
第二确定子单元,用于在比较出计算出的相似度大于第二预设相似度的情况下,确定子界面的类型为第二类型,即,在比较出计算出的相似度大于10的情况下,确定子界面和父界面不相同,子界面为新的界面。
以下具体说明本发明实施例所提供的计算子单元的结构组成方式,计算子单元主要包括处理模块、计算模块、第一比较模块、标记模块、第一确定模块、第二比较模块、统计模块和第二确定模块,其中:
处理模块用于对子界面和父界面进行灰度化处理,得到第一灰度图和第二灰度图,其中,第一灰度图为子界面的灰度图,第二灰度图为父界面的灰度图,进一步地,在此之前,还可以先将子界面和父界面的原图缩小,进而基于缩小后的当前界面进行灰度化处理,以减少运算,提高速度。
计算模块用于计算组成第一灰度图的像素的灰度平均值,得到第一平均值,并计算组成第二灰度图的像素的灰度平均值,得到第二平均值。
第一比较模块用于比较组成第一灰度图的每个像素的灰度值与第一平均值的大小,比较组成第二灰度图的每个像素的灰度值与第二平均值的大小。
标记模块用于标记第一灰度图中的第一像素和第二灰度图中的第一像素的灰度值均为字符1,并标记第一灰度图中的第二像素和第二灰度图中的第二像素的灰度值均为字符0,其中,第一灰度图中的第一像素的灰度值大于或等于第一平均值,第一灰度图中的第二像素的灰度值小于第一平均值,第二灰度图中的第一像素的灰度值大于或等于第二平均值,第二灰度图中的第二像素的灰度值小于第二平均值,即,将灰度值大于或等于平均值的像素记为1,将灰度值小于平均值的像素记为0。
第一确定模块用于确定第一字符串为子界面的指纹,并确定第二字符串为父界面的指纹,其中,第一字符串为以字符1和/或字符0表示的第一灰度图上的像素按照预设顺序组成的字符串,第二字符串为以字符1和/或字符0表示的第二灰度图上的像素按照预设顺序组成的字符串,其中,预设顺序可以是界面的像素排列顺序。
第二比较模块用于比较第一字符串上的第i位字符与第二字符串上的第i位字符是否相同,其中,i依次取1至n,n为第一字符串或第二字符串的字符位数,即,依次比较第一字符串和第二字符串对应位上的字符是否相同。
统计模块用于统计第一字符串和第二字符串对应位字符不相同的个数。
第二确定模块用于确定统计出的个数为子界面与父界面的相似度。
优选地,应用程序用户界面的获取装置还包括设置单元80,在遍历单元20遍历地将触发指令下发至当前界面上的每个目标区域,直至当前界面上的目标区域均完成触发指令指示的操作之前,设置单元80用于设置目标区域黑名单,其中,目标区域黑名单包括至少一个目标区域,相应地,在遍历单元20遍历触发指令至当前界面上的目标区域过程中,当需要下发触发指令至某个目标区域所表示的控件时,先判断一下这个控件是否是黑名单中的控件,在判断结果为是的情况下,则跳过下发触发指令至这个控件,也即,在遍历触发指令至当前界面上的目标区域过程中,跳过目标区域黑名单中的目标区域,继续遍历当前界面上的其它控件,直至当前界面上的控件遍历完成,则返回父节点继续遍历控件,直至返回到主界面所处的父节点,在主界面上的控件遍历完成后,整个流程结束。
通过设置控件黑名单,黑名单的设置是为了避免进入某些不必要的界面,以免增加遍历耗时。黑名单的设置项包含控件图片,和控件图片在整个界面中的位置信息。对一个新界面进行计算时,首先会根据黑名单指定位置截取小图与黑名单图片计算相似度,相似度值较小时认为命中黑名单控件,在后续的控件遍历中则会避免点击。
从以上的描述中,可以看出,本发明实现了在只有APK的情况下即可对应用程序上的控件进行操作,对所有应用程序都具有通用性,达到了提高用户界面获取方案的通用性的效果。
实施例3
根据本发明实施例,还提供了一种用于实施上述应用程序用户界面的获取方法的终端,如图6所示,该终端主要包括处理器601、设备接口602、显示器603、麦克风604、扬声器605、数据接口606和存储器607,其中:
存储器607主要用于存储上述应用程序用户界面的获取方法的程序代码,以及对获取过程中得到的用户界面进行存储。
数据接口606主要用于连接手机终端。
设备接口602用于连接处理器601和显示器603、麦克风604以及扬声器605。
显示器603主要是对获取过程中得到的用户界面进行显示。
处理器601主要用于执行如下操作:
确定步骤:确定应用程序的当前界面,其中,当前界面的起始界面为应用程序的主界面;遍历步骤:遍历地将触发指令下发至当前界面上的每个目标区域,直至当前界面上的目标区域均完成触发指令指示的操作,其中,目标区域为接收触发指令以对当前界面进行操作的区域;获取步骤:每下发触发指令至一个目标区域后,获取一次触发指令对当前界面进行操作后的子界面;对比步骤:对比子界面与子界面的父界面,以确定子界面的类型;第一返回步骤:在确定出子界面的类型为第一类型的情况下,返回遍历步骤,其中,第一类型表示子界面为界面集中的任一界面,界面集为在获取子界面之前获取到的界面的集合;以及第二返回步骤:在确定出子界面的类型为第二类型的情况下,确定子界面为当前界面,并返回遍历步骤,其中,第二类型表示子界面与界面集中的任一界面均不相同。
处理器601还用于提取步骤:根据当前界面的灰度图提取目标区域。
处理器601还用于对当前界面进行灰度化处理,得到当前界面的灰度图;对当前界面的灰度图进行边缘检测,得到边缘图;以及检测边缘图的四连通区域,并确定检测出的四连通区域为目标区域。
处理器601还用于计算子界面与父界面的相似度;比较计算出的相似度与第一预设相似度和第二预设相似度的大小,其中,第一预设相似度小于第二预设相似度;在比较出计算出的相似度小于第一预设相似度的情况下,确定子界面的类型为第一类型;以及在比较出计算出的相似度大于第二预设相似度的情况下,确定子界面的类型为第二类型。
处理器601还用于对子界面和父界面进行灰度化处理,得到第一灰度图和第二灰度图,其中,第一灰度图为子界面的灰度图,第二灰度图为父界面的灰度图;计算组成第一灰度图的像素的灰度平均值,得到第一平均值,并计算组成第二灰度图的像素的灰度平均值,得到第二平均值;比较组成第一灰度图的每个像素的灰度值与第一平均值的大小,比较组成第二灰度图的每个像素的灰度值与第二平均值的大小;标记第一灰度图中的第一像素和第二灰度图中的第一像素的灰度值均为字符1,并标记第一灰度图中的第二像素和第二灰度图中的第二像素的灰度值均为字符0,其中,第一灰度图中的第一像素的灰度值大于或等于第一平均值,第一灰度图中的第二像素的灰度值小于第一平均值,第二灰度图中的第一像素的灰度值大于或等于第二平均值,第二灰度图中的第二像素的灰度值小于第二平均值;确定第一字符串为子界面的指纹,并确定第二字符串为父界面的指纹,其中,第一字符串为以字符1和/或字符0表示的第一灰度图上的像素按照预设顺序组成的字符串,第二字符串为以字符1和/或字符0表示的第二灰度图上的像素按照预设顺序组成的字符串;比较第一字符串上的第i位字符与第二字符串上的第i位字符是否相同,其中,i依次取1至n,n为第一字符串或第二字符串的字符位数;统计第一字符串和第二字符串对应位字符不相同的个数;以及确定统计出的个数为子界面与父界面的相似度。
处理器601还用于设置目标区域黑名单,其中,目标区域黑名单包括至少一个目标区域,其中,在遍历触发指令至当前界面上的目标区域过程中,跳过目标区域黑名单中的目标区域。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例所提供的应用程序用户界面的获取方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,确定步骤:确定应用程序的当前界面,其中,当前界面的起始界面为应用程序的主界面;
S2,遍历步骤:遍历地将触发指令下发至当前界面上的每个目标区域,直至当前界面上的目标区域均完成触发指令指示的操作,其中,目标区域为接收触发指令以对当前界面进行操作的区域;
S3,获取步骤:每下发触发指令至一个目标区域后,获取一次触发指令对当前界面进行操作后的子界面;
S4,对比步骤:对比子界面与子界面的父界面,以确定子界面的类型;
S5,第一返回步骤:在确定出子界面的类型为第一类型的情况下,返回遍历步骤,其中,第一类型表示子界面为界面集中的任一界面,界面集为在获取子界面之前获取到的界面的集合;
S6,第二返回步骤:在确定出子界面的类型为第二类型的情况下,确定子界面为当前界面,并返回遍历步骤,其中,第二类型表示子界面与界面集中的任一界面均不相同。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:根据当前界面的灰度图提取目标区域。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:对当前界面进行灰度化处理,得到当前界面的灰度图;对当前界面的灰度图进行边缘检测,得到边缘图;以及检测边缘图的四连通区域,并确定检测出的四连通区域为目标区域。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:计算子界面与父界面的相似度;比较计算出的相似度与第一预设相似度和第二预设相似度的大小,其中,第一预设相似度小于第二预设相似度;在比较出计算出的相似度小于第一预设相似度的情况下,确定子界面的类型为第一类型;以及在比较出计算出的相似度大于第二预设相似度的情况下,确定子界面的类型为第二类型。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:对子界面和父界面进行灰度化处理,得到第一灰度图和第二灰度图,其中,第一灰度图为子界面的灰度图,第二灰度图为父界面的灰度图;计算组成第一灰度图的像素的灰度平均值,得到第一平均值,并计算组成第二灰度图的像素的灰度平均值,得到第二平均值;比较组成第一灰度图的每个像素的灰度值与第一平均值的大小,比较组成第二灰度图的每个像素的灰度值与第二平均值的大小;标记第一灰度图中的第一像素和第二灰度图中的第一像素的灰度值均为字符1,并标记第一灰度图中的第二像素和第二灰度图中的第二像素的灰度值均为字符0,其中,第一灰度图中的第一像素的灰度值大于或等于第一平均值,第一灰度图中的第二像素的灰度值小于第一平均值,第二灰度图中的第一像素的灰度值大于或等于第二平均值,第二灰度图中的第二像素的灰度值小于第二平均值;确定第一字符串为子界面的指纹,并确定第二字符串为父界面的指纹,其中,第一字符串为以字符1和/或字符0表示的第一灰度图上的像素按照预设顺序组成的字符串,第二字符串为以字符1和/或字符0表示的第二灰度图上的像素按照预设顺序组成的字符串;比较第一字符串上的第i位字符与第二字符串上的第i位字符是否相同,其中,i依次取1至n,n为第一字符串或第二字符串的字符位数;统计第一字符串和第二字符串对应位字符不相同的个数;以及确定统计出的个数为子界面与父界面的相似度。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:设置目标区域黑名单,其中,目标区域黑名单包括至少一个目标区域,其中,在遍历触发指令至当前界面上的目标区域过程中,跳过目标区域黑名单中的目标区域。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种应用程序用户界面的获取方法,其特征在于,包括:
确定步骤:确定所述应用程序的当前界面,其中,所述当前界面的起始界面为所述应用程序的主界面;
提取步骤:根据所述当前界面的灰度图提取目标区域;
遍历步骤:遍历地将触发指令下发至所述当前界面上的每个目标区域,直至所述当前界面上的所述目标区域均完成所述触发指令指示的操作,其中,所述目标区域为接收触发指令以对所述当前界面进行操作的区域;
获取步骤:每下发所述触发指令至一个所述目标区域后,获取一次所述触发指令对所述当前界面进行操作后的子界面;
对比步骤:对比所述子界面与所述子界面的父界面,以确定所述子界面的类型;
第一返回步骤:在确定出所述子界面的类型为第一类型的情况下,返回所述遍历步骤,其中,所述第一类型表示所述子界面为界面集中的任一界面,所述界面集为在获取所述子界面之前获取到的界面的集合;以及
第二返回步骤:在确定出所述子界面的类型为第二类型的情况下,确定所述子界面为所述当前界面,并返回所述遍历步骤,其中,所述第二类型表示所述子界面与所述界面集中的任一界面均不相同;
其中,所述提取步骤包括:对所述当前界面进行灰度化处理,得到所述当前界面的灰度图;对所述当前界面的灰度图进行边缘检测,得到边缘图;以及检测所述边缘图的四连通区域,并确定检测出的所述四连通区域为所述目标区域。
2.根据权利要求1所述的获取方法,其特征在于,所述对比步骤包括:
计算所述子界面与所述父界面的相似度;
比较计算出的相似度与第一预设相似度和第二预设相似度的大小,其中,所述第一预设相似度小于所述第二预设相似度;
在比较出计算出的相似度小于所述第一预设相似度的情况下,确定所述子界面的类型为所述第一类型;以及
在比较出计算出的相似度大于所述第二预设相似度的情况下,确定所述子界面的类型为所述第二类型。
3.根据权利要求2所述的获取方法,其特征在于,计算所述子界面与所述父界面的相似度包括:
对所述子界面和所述父界面进行灰度化处理,得到第一灰度图和第二灰度图,其中,所述第一灰度图为所述子界面的灰度图,所述第二灰度图为所述父界面的灰度图;
计算组成所述第一灰度图的像素的灰度平均值,得到第一平均值,并计算组成所述第二灰度图的像素的灰度平均值,得到第二平均值;
比较组成所述第一灰度图的每个像素的灰度值与所述第一平均值的大小,比较组成所述第二灰度图的每个像素的灰度值与所述第二平均值的大小;
标记所述第一灰度图中的第一像素和所述第二灰度图中的第一像素的灰度值均为字符1,并标记所述第一灰度图中的第二像素和所述第二灰度图中的第二像素的灰度值均为字符0,其中,所述第一灰度图中的第一像素的灰度值大于或等于所述第一平均值,所述第一灰度图中的第二像素的灰度值小于所述第一平均值,所述第二灰度图中的第一像素的灰度值大于或等于所述第二平均值,所述第二灰度图中的第二像素的灰度值小于所述第二平均值;
确定第一字符串为所述子界面的指纹,并确定第二字符串为所述父界面的指纹,其中,所述第一字符串为以字符1和/或字符0表示的所述第一灰度图上的像素按照预设顺序组成的字符串,所述第二字符串为以字符1和/或字符0表示的所述第二灰度图上的像素按照所述预设顺序组成的字符串;
比较所述第一字符串上的第i位字符与所述第二字符串上的所述第i位字符是否相同,其中,i依次取1至n,n为所述第一字符串或所述第二字符串的字符位数;
统计所述第一字符串和所述第二字符串对应位字符不相同的个数;以及
确定统计出的个数为所述子界面与所述父界面的相似度。
4.根据权利要求1所述的获取方法,其特征在于,在所述遍历步骤之前,所述获取方法还包括:
设置目标区域黑名单,其中,所述目标区域黑名单包括至少一个所述目标区域,
其中,在遍历所述触发指令至所述当前界面上的目标区域过程中,跳过所述目标区域黑名单中的所述目标区域。
5.一种应用程序用户界面的获取装置,其特征在于,包括:
确定单元,用于确定所述应用程序的当前界面,其中,所述当前界面的起始界面为所述应用程序的主界面;
提取单元,用于根据所述当前界面的灰度图提取目标区域;
遍历单元,用于遍历地将触发指令下发至所述当前界面上的每个目标区域,直至所述当前界面上的所述目标区域均完成所述触发指令指示的操作,其中,所述目标区域为接收触发指令以对所述当前界面进行操作的区域;
获取单元,用于每下发所述触发指令至一个所述目标区域后,获取一次所述触发指令对所述当前界面进行操作后的子界面;
对比单元,用于对比所述子界面与所述子界面的父界面,以确定所述子界面的类型;
第一返回单元,用于在确定出所述子界面的类型为第一类型的情况下,返回所述遍历单元,其中,所述第一类型表示所述子界面为界面集中的任一界面,所述界面集为在获取所述子界面之前获取到的界面的集合;以及
第二返回单元,用于在确定出所述子界面的类型为第二类型的情况下,确定所述子界面为所述当前界面,并返回所述遍历单元,其中,所述第二类型表示所述子界面与所述界面集中的任一界面均不相同;
其中,所述提取单元包括:处理子单元,用于对所述当前界面进行灰度化处理,得到所述当前界面的灰度图;第一检测子单元,用于对所述当前界面的灰度图进行边缘检测,得到边缘图;以及第二检测子单元,用于检测所述边缘图的四连通区域,并确定检测出的所述四连通区域为所述目标区域。
6.根据权利要求5所述的获取装置,其特征在于,所述对比单元包括:
计算子单元,用于计算所述子界面与所述父界面的相似度;
比较子单元,用于比较计算出的相似度与第一预设相似度和第二预设相似度的大小,其中,所述第一预设相似度小于所述第二预设相似度;
第一确定子单元,用于在比较出计算出的相似度小于所述第一预设相似度的情况下,确定所述子界面的类型为所述第一类型;以及
第二确定子单元,用于在比较出计算出的相似度大于所述第二预设相似度的情况下,确定所述子界面的类型为所述第二类型。
7.根据权利要求6所述的获取装置,其特征在于,所述计算子单元包括:
处理模块,用于对所述子界面和所述父界面进行灰度化处理,得到第一灰度图和第二灰度图,其中,所述第一灰度图为所述子界面的灰度图,所述第二灰度图为所述父界面的灰度图;
计算模块,用于计算组成所述第一灰度图的像素的灰度平均值,得到第一平均值,并计算组成所述第二灰度图的像素的灰度平均值,得到第二平均值;
第一比较模块,用于比较组成所述第一灰度图的每个像素的灰度值与所述第一平均值的大小,比较组成所述第二灰度图的每个像素的灰度值与所述第二平均值的大小;
标记模块,用于标记所述第一灰度图中的第一像素和所述第二灰度图中的第一像素的灰度值均为字符1,并标记所述第一灰度图中的第二像素和所述第二灰度图中的第二像素的灰度值均为字符0,其中,所述第一灰度图中的第一像素的灰度值大于或等于所述第一平均值,所述第一灰度图中的第二像素的灰度值小于所述第一平均值,所述第二灰度图中的第一像素的灰度值大于或等于所述第二平均值,所述第二灰度图中的第二像素的灰度值小于所述第二平均值;
第一确定模块,用于确定第一字符串为所述子界面的指纹,并确定第二字符串为所述父界面的指纹,其中,所述第一字符串为以字符1和/或字符0表示的所述第一灰度图上的像素按照预设顺序组成的字符串,所述第二字符串为以字符1和/或字符0表示的所述第二灰度图上的像素按照所述预设顺序组成的字符串;
第二比较模块,用于比较所述第一字符串上的第i位字符与所述第二字符串上的所述第i位字符是否相同,其中,i依次取1至n,n为所述第一字符串或所述第二字符串的字符位数;
统计模块,用于统计所述第一字符串和所述第二字符串对应位字符不相同的个数;以及
第二确定模块,用于确定统计出的个数为所述子界面与所述父界面的相似度。
8.根据权利要求5所述的获取装置,其特征在于,所述获取装置还包括:
设置单元,用于设置目标区域黑名单,其中,所述目标区域黑名单包括至少一个所述目标区域,
其中,在遍历所述触发指令至所述当前界面上的目标区域过程中,跳过所述目标区域黑名单中的所述目标区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410370553.6A CN105302715B (zh) | 2014-07-30 | 2014-07-30 | 应用程序用户界面的获取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410370553.6A CN105302715B (zh) | 2014-07-30 | 2014-07-30 | 应用程序用户界面的获取方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105302715A CN105302715A (zh) | 2016-02-03 |
CN105302715B true CN105302715B (zh) | 2019-05-24 |
Family
ID=55200004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410370553.6A Active CN105302715B (zh) | 2014-07-30 | 2014-07-30 | 应用程序用户界面的获取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105302715B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009078B (zh) | 2016-11-01 | 2021-04-27 | 腾讯科技(深圳)有限公司 | 一种应用界面遍历方法、系统和测试设备 |
CN106598867A (zh) * | 2016-12-22 | 2017-04-26 | 深圳中兴网信科技有限公司 | 用户界面的测试方法及测试装置 |
CN107748685B (zh) * | 2017-11-21 | 2020-12-25 | Oppo广东移动通信有限公司 | 应用程序启动控制方法、装置、终端设备及存储介质 |
CN111309622A (zh) * | 2020-02-27 | 2020-06-19 | 中国平安人寿保险股份有限公司 | 应用程序测试方法、装置、终端设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484790A (zh) * | 2001-01-04 | 2004-03-24 | �Ҵ���˾ | 测试带有图形用户界面的未知程序的方法和装置 |
CN102541728A (zh) * | 2010-12-14 | 2012-07-04 | 北京新媒传信科技有限公司 | 扩展自动化测试工具识别控件的方法 |
CN103019937A (zh) * | 2012-12-13 | 2013-04-03 | 广东欧珀移动通信有限公司 | 一种人机交互界面遍历测试方法 |
CN103377119A (zh) * | 2012-04-23 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种非标准控件自动化测试方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9195572B2 (en) * | 2011-12-16 | 2015-11-24 | Sap Se | Systems and methods for identifying user interface (UI) elements |
-
2014
- 2014-07-30 CN CN201410370553.6A patent/CN105302715B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484790A (zh) * | 2001-01-04 | 2004-03-24 | �Ҵ���˾ | 测试带有图形用户界面的未知程序的方法和装置 |
CN102541728A (zh) * | 2010-12-14 | 2012-07-04 | 北京新媒传信科技有限公司 | 扩展自动化测试工具识别控件的方法 |
CN103377119A (zh) * | 2012-04-23 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种非标准控件自动化测试方法和装置 |
CN103019937A (zh) * | 2012-12-13 | 2013-04-03 | 广东欧珀移动通信有限公司 | 一种人机交互界面遍历测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105302715A (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10796244B2 (en) | Method and apparatus for labeling training samples | |
CN110705405B (zh) | 目标标注的方法及装置 | |
US10311115B2 (en) | Object search method and apparatus | |
CN104199906B (zh) | 一种拍摄区域的推荐方法及装置 | |
CN105302715B (zh) | 应用程序用户界面的获取方法和装置 | |
CN110610127B (zh) | 人脸识别方法、装置、存储介质及电子设备 | |
CN110443224A (zh) | 翻页检测方法、装置、电子设备及存储介质 | |
CN109905292B (zh) | 一种终端设备识别方法、系统及存储介质 | |
CN106488539A (zh) | 终端中WiFi资源的处理方法和系统 | |
CN111225299A (zh) | 一种onu故障识别、修复方法和装置 | |
CN110874301B (zh) | 程序卡顿信息的获取方法和装置 | |
CN109376362A (zh) | 一种纠错文本的确定方法以及相关设备 | |
CN109977745B (zh) | 人脸图像处理方法及相关装置 | |
US20200143187A1 (en) | Method for iris-based living body detection and related products | |
CN112328822A (zh) | 图片预标注方法、装置及终端设备 | |
CN110084187B (zh) | 基于计算机视觉的位置识别方法、装置、设备及存储介质 | |
CN111967529A (zh) | 识别方法、装置、设备及系统 | |
CN109271543B (zh) | 缩略图的显示方法、装置、终端及计算机可读存储介质 | |
CN105848155B (zh) | 一种终端非法刷机识别方法及装置 | |
CN116431468A (zh) | 测试方法、装置、处理设备及存储介质 | |
CN110610178A (zh) | 图像识别方法、装置、终端及计算机可读存储介质 | |
CN104461857B (zh) | 软件可靠性的检测方法和装置 | |
CN105162799A (zh) | 检验客户端是否为合法移动终端的方法以及服务器 | |
CN110197143B (zh) | 一种结算台物品识别方法、装置及电子设备 | |
CN105260440B (zh) | 识别电话号码的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |