CN112286782B - 控件遮挡检测方法、软件检测方法、装置及介质 - Google Patents
控件遮挡检测方法、软件检测方法、装置及介质 Download PDFInfo
- Publication number
- CN112286782B CN112286782B CN201910667652.3A CN201910667652A CN112286782B CN 112286782 B CN112286782 B CN 112286782B CN 201910667652 A CN201910667652 A CN 201910667652A CN 112286782 B CN112286782 B CN 112286782B
- Authority
- CN
- China
- Prior art keywords
- control
- information
- parent
- interface
- detecting whether
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
Abstract
本申请提供一种控件遮挡检测方法,可用于APP控件的检测,包括:从包含有多个尺寸符合预设值的可点击控件的备选池中获取一个控件,依次检测该控件是否拦截点击操作,是否为白名单中的控件,是否遮挡其他控件或超出其父控件的尺寸范围,从而检测该控件是否为存在遮挡的问题控件,当该控件存在问题时,输出该问题控件的控件信息;本申请实施例还提供一种应用该控件遮挡检测方法的软件检测方法,以及装置和介质,使得用户不需要点击手动操作,即可筛选出软件程序中的问题控件,大大提升了软件程序检测的检查效率。
Description
技术领域
本发明涉及软件测试技术领域,更具体地说,涉及一种控件遮挡检测方法、软件检测方法、装置及介质。
背景技术
在用户终端程序,例如软件或APP的使用时,会遇到某个控件按钮无法点击或难以点击的情况;因此在用户终端程序运行的过程中,需要对存在上述问题的控件进行记录,以便于整改。
现有技术中,对于用户终端程序的检测工具仅仅将被测用户终端程序的界面层级展示出来,并不会检测点击区域是否有遮挡,控件是否超出父控件范围等,也就无法将用户终端程序中潜在的问题控件检测出来。
对于较为大型的用户终端程序,存在大量控件,仅仅依赖手动点击检测无法准确检测到每个控件的运行情况,且检测效率较低。
因此,上述问题还有待于解决。
发明内容
有鉴于此,为解决上述问题,本发明提供一种控件遮挡检测方法。技术方案如下:
获取备选池中的第一控件,所述备选池中包含多个尺寸符合预设值的可点击控件,所述第一控件为所述备选池中的一个控件;
检测所述第一控件是否拦截点击操作;
当所述第一控件拦截点击操作时,判断所述第一控件是否为白名单中的控件;
当所述第一控件不为白名单上的控件时,检测所述第一控件是否与其他控件重叠,或者,检测所述第一控件是否超出所述第一控件的父控件的尺寸范围;
当所述第一控件遮挡其他控件,或者,所述第一控件超出所述第一控件的父控件的尺寸范围时,输出所述第一控件的控件信息。
可选地,该获取备选池中的第一控件之前,还包括:
获取该第一控件的坐标信息及尺寸信息,该第一控件为客户端中的一个控件;
当该第一控件的尺寸信息符合预设值时,检测该第一控件是否为可点击控件;
当该第一控件为可点击控件时,将该第一控件加入该备选池中。
可选地,该判断该第一控件是否为白名单中的控件之前,还包括:
创建该白名单,该白名单中记录有不需进行控件遮挡检测的控件的控件信息。
可选地,该检测该第一控件是否遮挡其他控件,包括:
检测该第一控件的坐标信息及尺寸信息是否与该备选池中的其他控件的坐标信息及尺寸信息存在交集,当存在交集时判定该第一控件与存在交集的控件有遮挡;
该检测该第一控件是否超出该第一控件的父控件的尺寸范围,包括:
检测该第一控件的坐标信息是否位于该第一控件的父控件的坐标信息之内;
检测该第一控件的尺寸信息是否小于该第一控件的父控件的尺寸信息;
当该第一控件的坐标信息位于该第一控件的父控件的坐标信息之内,且该第一控件的及尺寸信息小于该第一控件的父控件的尺寸信息时,判定该第一控件没有超出该第一控件的父控件的尺寸范围。
可选地,该输出该第一控件的控件信息,包括:
截取该第一控件所在界面的截图;
标记该第一控件在该截图中的位置;
生成日志,该日志中记录有该第一控件的控件信息。
可选地,该第一控件的控件信息包括:
该第一控件的坐标信息、尺寸信息、控件名称及该第一控件所执行的动作信息。
可选地,该输出该第一控件的控件信息之后,还包括:
将该第一控件加入白名单中。
可选地,该获取该第一控件的坐标信息,包括:
获取该第一控件相对于该第一控件的父控件的第一坐标信息;
对该第一坐标信息进行坐标映射,得到第二坐标信息,该第二坐标信息用于标记该第一控件相对于界面窗口的坐标信息。
一种软件检测方法,包括:
确定待检测的至少一个目标界面,该目标界面为软件运行过程中的界面;
调用上述的控件遮挡检测方法,逐一检测该目标界面中的各个控件是否超出父控件的范围或存在遮挡;
输出该目标界面中包含有超出父控件的范围或存在遮挡的控件所在界面的界面截图,该界面截图中标注有该超出父控件的范围或存在遮挡的控件的控件信息。
一种控件遮挡检测装置,包括:
第一获取单元,用于获取备选池中的第一控件,该备选池中包含多个尺寸符合预设值的可点击控件,该第一控件为该备选池中的一个控件;
第一检测单元,用于检测该第一获取单元获取的该第一控件是否拦截点击操作;
判断单元,用于判断该第一控件是否为白名单中的控件;
第二检测单元,用于检测该第一控件是否遮挡其他控件,或者,检测该第一控件是否超出该第一控件的父控件的尺寸范围;
输出单元,用于当该第二检测单元检测到该第一控件遮挡其他控件,或者,该第一控件超出该第一控件的父控件的尺寸范围时,输出该第一控件的控件信息。
一种软件检测装置,包括:
确定单元,用于确定待检测的至少一个目标界面,该目标界面为软件运行过程中的界面;
调用单元,用于调用上述的控件遮挡检测方法,逐一检测该确定单元所确定的该目标界面中的各个控件是否超出父控件的范围或存在遮挡;
输出单元,用于输出经该调用单元调用的控件遮挡检测方法检测后,该目标界面中包含有超出父控件的范围或存在遮挡的控件所在界面的界面截图,该界面截图中标注有该超出父控件的范围或存在遮挡的控件的控件信息。
一种计算机设备,该计算机设备包括:交互装置、输入/输出(I/O)接口、处理器和存储器,该存储器中存储有程序指令;
该交互装置用于获取用户输入的操作指令;
该处理器用于执行存储器中存储的程序指令,执行上述方法。
一种计算机可读存储介质,包括指令,当该指令在计算机设备上运行时,使得该计算机设备执行上述方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为子控件的可点击区域范围超过父控件的示意图;
图2为控件之间可点击区域相互重叠的示意图;
图3为控件可点击区域被另一个控件遮挡的示意图;
图4A为本申请实施例提供的一种控件遮挡检测方法的流程图;
图4B为本申请实施例提供的一种控件遮挡检测方法中的备选池的生成过程的流程图;
图4C为本申请实施例提供的一种控件遮挡检测方法中控件坐标映射的示意图;
图4D为本申请实施例提供的一种控件遮挡检测方法输出的界面截图的示意图;
图5为本申请实施例提供的一种软件检测方法的流程图;
图6为本申请实施例提供的计算机设备的结构示意图;
图7为本申请实施例提供的一种控件遮挡检测装置的结构示意图;
图8为本申请实施例提供的一种软件检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在用户终端(例如电脑,平板电脑、手机等)的用户终端程序(例如软件或APP)运行过程中,时常会发生某个控件按钮无法点击的或难以点击的情况,该控件按钮通常用于执行跳转操作或确认操作等操作,若控件按钮无法点击或难以点击,将会使得用户无法执行想要执行的操作。因此需要对遇到此类问题的控件进行记录,以便于后续整改,当前主要通过手动点击控件按钮,实现检测,然而对于较为大型的程序,存在大量控件,仅依赖手动点击检测效率较低。
对于控件按钮无法点击的或难以点击的情况,一般出于以下几种原因:
1、子控件的可点击区域范围超过父控件。
请参与图1,如图1所示,第一控件101为第二控件102的子控件,其中,第一控件101超出了第二控件102的尺寸范围,因此,当用户点击第一控件101中超出第二控件102尺寸范围的部分时,该点击操作将没有响应。
2、控件之间可点击区域相互重叠。
控件之间可点击区域相互重叠可以进一步细分为以下两种情况:
1)、请参阅图2,如图2所示,第一控件201和第二控件202为两个独立的控件,当第一控件201与第二控件202发生重叠时,第一控件201部分覆盖在第二控件202上;从而使得用户想要点击第二控件202时,若点击到第二控件202与第一控件201重叠的部分,会误点击到第一控件201从而引发误操作。
2)、请参阅图3,如图3所示,第一控件301和第二控件302为两个独立的控件,当第一控件301与第二控件302发生重叠时,第一控件301全部覆盖在第二控件302上,产生了遮挡,从而使得用户想要点击第二控件302时,若点击到第二控件302被第一控件301遮挡的部分,会误点击到第一控件301从而引发误操作。
3、可点击区域大小不符合涉及规则。
例如控件面积过小,导致用户手指无法准确点击。
因此,针对上述问题,本申请实施例提供了一种控件遮挡检测方法,为便于理解,以下结合附图,对本申请实施例所提供的控件遮挡检测方法进行详细说明。
请参阅图4A,如图4A所示,本申请实施例所提供的控件遮挡检测方法包括以下步骤:
401、获取备选池中的第一控件。
本实施例中,备选池中包含多个尺寸符合预设值的可点击控件,第一控件为备选池中的一个控件,请参阅图4B,该备选池的生成过程包括:
4011、获取该第一控件的坐标信息及尺寸信息。
本实施例中,该第一控件为客户端中的一个控件。
对于上述坐标信息,请参阅图4C,以运行软件程序的终端设备为手机为例,对于上述第一控件的坐标信息的获取,通常是采用控件的frame属性坐标,如图4C所示,由于frame属性坐标是第一控件10相对于其父控件20的坐标,不同控件之间这样的坐标直接比较来判断是否有遮挡是不准确的,所以需要进行坐标映射,将所有控件的坐标都转换到界面窗口30统一坐标系,因此,对于获取第一控件的坐标信息,可以包含以下步骤:
获取该第一控件相对于该第一控件的父控件的第一坐标信息;
对该第一坐标信息进行坐标映射,得到第二坐标信息,该第二坐标信息用于标记该第一控件相对于界面窗口的坐标信息。
其中,上述将第一坐标信息映射为第二坐标信息为本领域技术人员根据现有技术即可实现的手段,因此此处不再赘述。
4012、当该第一控件的尺寸信息符合预设值时,检测该第一控件是否为可点击控件;
本实施例中,对于上述尺寸信息的预设值,是由用户根据实际需要预设的,例如,面积大于X的控件将会遮挡过大的界面范围,从而影响其他控件获取点击操作,面积小于Y的控件,将会因为面积过小而导致用户的手指难以点击,因此,尺寸信息的预设值为大于Y小于X,当Y<第一控件<X时,即可判定该第一控件的尺寸信息符合预设值,否则,直接将该第一控件标记为尺寸异常。
进一步地,只有该第一控件为可点击的控件时,才有对其进行检测的必要,若第一控件不可点击的控件,即使第一控件覆盖了其他控件,例如第二控件,当用户希望点击第二控件时,点击到第一控件覆盖第二控件的区域,仍然不会造成误操作,因此不需要对不可点击的控件进行后续操作。
4013、当该第一控件为可点击控件时,将该第一控件加入该备选池中。
本实施例中,对待检测界面中包括第一控件在内的所有控件逐一检测,将符合尺寸条件的可点击控件全部加入该备选池中,以进行后续操作,若该控件为不可点击控件,则直接排除该控件。
本实施例中,通过对尺寸信息和是否可点击进行筛选,得到了备选池中的多个控件,其中,多个控件中分别记录有每个控件相对于界面窗口的坐标信息,获取备选池中的第一控件,从而进行后续的检测步骤。
402、检测第一控件是否拦截点击操作。
本实施例中,只有该第一控件拦截点击操作时,才有对其进行检测的必要,若第一控件不拦截点击操作,则该第一控件为透传的控件,即使第一控件覆盖了其他控件,例如第二控件,当用户希望点击第二控件时,点击到第一控件覆盖第二控件的区域,该第一控件依然会将该点击操作透传给第二控件,因此不需要对不可点击的控件进行后续操作。
403、判断第一控件是否为白名单中的控件。
本实施例中,由于在软件程序中,本身就有可能存在一个控件遮挡在另一个控件上的情况,并不是所有的遮挡都是不允许的,因此,若纯粹检测所有被遮挡的区域,会输出很多无用的结果,为了节省算力,避免不需要的结果,需要提前设置一个白名单,具体步骤可以包括:
创建白名单,该白名单中记录有不需进行控件遮挡检测的控件的控件信息。
该不需进行控件遮挡检测的控件的控件信息,可以是用户根据实际工作情况,手动输入的。
404、检测第一控件是否遮挡其他控件,或者,检测第一控件是否超出第一控件的父控件的尺寸范围。
本实施例中,只有第一控件不是白名单上的控件时,才执行上述404的步骤。
对于上述检测第一控件是否遮挡其他控件,具体实现方式可以为:检测该第一控件的坐标信息及尺寸信息是否与该备选池中的其他控件的坐标信息及尺寸信息存在交集。其中,从备选池中获取第一控件信息时,备选池中本身就记录有该第一控件的坐标信息和尺寸信息,将第一控件的坐标信息和尺寸信息与备选池中其余控件的坐标信息和尺寸信息逐一比对,即可获知,第一控件的坐标信息和尺寸信息与备选池中其余控件的坐标信息和尺寸信息是否存在交集,当存在交集时,即可判定,第一控件信息对其他控件形成了遮挡。
对于上述检测第一控件是否超出第一控件的父控件的尺寸范围,具体实施方式可以为:
检测该第一控件的坐标信息是否位于该第一控件的父控件的坐标信息之内;
检测该第一控件的尺寸信息是否小于该第一控件的父控件的尺寸信息;
当该第一控件的坐标信息位于该第一控件的父控件的坐标信息之内,且该第一控件的及尺寸信息小于该第一控件的父控件的尺寸信息时,判定该第一控件没有超出该第一控件的父控件的尺寸范围。反之,判断第一控件超出其父控件的尺寸范围。
上述过程中,根据第一控件的坐标信息和其父控件的坐标信息,可以知道二者的相对位置,之后根据第一控件的尺寸信息和其父控件的尺寸信息,即可判断第一控件是否超出其父控件的尺寸范围。
405、输出第一控件的控件信息。
本实施例中,当第一控件遮挡其他控件,或者,第一控件超出第一控件的父控件的尺寸范围时,才输出第一控件的控件信息,对于输出第一控件的控件信息,可以包含以下两种不同的操作。
1、截取第一控件所在界面的截图,并标记第一控件在截图中的位置。
本实施例中,如图4D所示,以运行软件程序的终端设备为手机为例,对于检测出有问题的控件,需要让用户知道该问题控件在界面上的位置,从而便于用户进行整改,因此输出一张问题控件所在界面的界面截图,并在该界面截图中通过方框框标记有问题的控件,例如图4D所示,界面截图4051为一个视频直播软件的界面截图,其中,第一控件4054为点击后可以进入直播间的控件,在该第一控件4054上覆盖设置有第二控件4053,该第二控件4053为点击领取红包的控件,第二控件4053构成了对第一控件4054的遮挡,因此,在生成的界面截图4051中,通过方框4052将遮挡了第一控件4054的第二控件4053标出。其中,对于不同问题的控件,可采用不同的框选方式,例如:
对于尺寸不符合规范的控件,采用绿色框进行框选;
对于存在遮挡的控件,采用蓝色框进行框选;
对于超出其父控件尺寸范围的控件,采用红色框进行框选。
从而用户可以根据截取的界面截图,直观地了解问题控件在界面中的位置及控件的问题类型。
2、输出第一控件的控件信息。
本实施例中,该控件信息可以通过日志的方式生成,也可以通过通知栏的方式生成。控件信息具体可以包括:第一控件的坐标信息、尺寸信息、控件名称及所述第一控件所执行的动作信息,从而使得用户可以根据控件信息了解该控件的消息情况。
可选地,根据用户实际使用需求的不同,上述两种输出第一控件的控件信息的操作,可以单独执行其中任意一个,也可以同时进行,对此本申请实施例并不进行限定。
进一步地,当用户通过第一控件的控件信息了解到该第一控件的详细情况后,可以判断是否需要对该第一控件进行处理,若不需要处理,可以将该第一控件加入白名单中,从而下次对同一界面进行检测时将会绕过该第一控件,节省下次检测的算力,减少无效结果的输出。
本实施例所提供的控件遮挡检测方法,包括:从包含有多个尺寸符合预设值的可点击控件的备选池中获取一个控件,依次检测该控件是否拦截点击操作,是否为白名单中的控件,是否遮挡其他控件或超出其父控件的尺寸范围,从而检测该控件是否为存在遮挡的问题控件,当该控件存在问题时,输出该问题控件的控件信息。从而不需要用户手动操作,即可筛选出存在遮挡的控件,大大提升了软件程序检测过程中对于控件遮挡的检查效率。
需要说明的是,上述控件遮挡检测方法,可以针对软件程序中的一个运行界面进行检测,也可以针对多个界面进行检测,对此本申请实施例并不进行限定,进一步地,为了能够实现上述控件遮挡检测方法的全自动化检测,本申请实施例还提供一种软件检测方法。
为便于理解,以下结合附图,对本申请实施例所提供的软件检测方法进行详细说明,请参阅图5,如图5所示,本申请实施例所提供的软件检测方法包括以下步骤。
501、确定待检测的至少一个目标界面。
本实施例中,该目标界面为软件运行过程中的界面,用户可以确定目标界面为某几个界面,也可以确定目标界面为软件程序的所有界面,从而后续步骤可以对目标界面中的控件进行遮挡检测。
502、调用控件遮挡检测方法,逐一检测目标界面中的各个控件是否超出父控件的范围或存在遮挡。
本实施例中,采用控件遮挡检测方法遍历目标界面中的每个控件,从而检测这些界面是否超出父控件的范围或存在遮挡。其中,该控件遮挡检测方法执行前,程序可以通过脚本打开需要检测的目标界面,从而执行检测,该控件遮挡检测方法可参阅上述步骤401至405,此处不再赘述。
503、输出目标界面中包含有超出父控件的范围或存在遮挡的控件所在界面的界面截图。
本实施例中,界面截图中标注有超出父控件的范围或存在遮挡的控件的控件信息,由于检测涉及软件程序的多个目标界面,因此,各个出现问题控件的界面统一采用界面截图的方式输出,并在界面截图中标注问题控件的控件信息,具体标注方式可以为:
对于尺寸不符合规范的控件,采用绿色框进行框选;
对于存在遮挡的控件,采用蓝色框进行框选;
对于超出其父控件尺寸范围的控件,采用红色框进行框选。
从而用户可以根据截取的界面截图,直观地了解问题控件在界面中的位置及控件的问题类型。
进一步地,还可以采用日志的方式,对上述界面截图中问题控件的控件信息进行记录,控件信息具体可以包括:第一控件的坐标信息、尺寸信息、控件名称及所述第一控件所执行的动作信息,从而使得用户可以根据控件信息了解该控件的消息情况。
上述步骤501至503所述的工作过程,可以通过自动化的检测步骤来实现,例如:通过将待测试的软件程序接入QT4i自动化脚本检测,通过脚本执行步骤501至503,配置自动切换界面及场景,同时自动触发遮挡检测并将出现问题的界面截图及控件相关信息记录保存下来,方便开发后续定位。
本实施例中,通过用户的设置确定软件程序中待检测的目标界面,之后通过调用控件遮挡检测方法,对目标界面中的控件进行检测,判断是否超出父控件的范围或存在遮挡,对于存在该问题的控件,输出其所在的界面的界面截图,以及问题控件的控件信息,从而使得用户能够直观地了解到软件程序中各个控件的遮挡情况,本方法能够适用于所有APP,从而在APP上线前使得测试人员能够快速、全面且直观地获取到APP中控件被遮挡的情况,提升软件检测的效率。
上述对本申请实施例提供的方案进行了介绍。可以理解的是,计算机设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
从硬件结构上来描述,上述方法可以由一个实体设备实现,也可以由多个实体设备共同实现,还可以是一个实体设备内的一个逻辑功能模块,本申请实施例对此不作具体限定。
例如,上述分布式文本聚类方法或文本数据过滤方法均可以通过图6中的计算机设备来实现。图6为本申请实施例提供的计算机设备的硬件结构示意图。该计算机设备包括至少一个处理器601,通信线路602,存储器603以及至少一个通信接口604。
处理器601可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,服务器IC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路602可包括一通路,在上述组件之间传送信息。
通信接口604,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyer服务器able programmable read-only memory,EEPROM)、只读光盘(compact discread-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路602与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器603用于存储执行本申请方案的计算机执行指令,并由处理器601来控制执行。处理器601用于执行存储器603中存储的计算机执行指令,从而实现本申请上述实施例提供的方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器601可以包括一个或多个CPU,例如图6中的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,例如图6中的处理器601和处理器607。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备还可以包括输出设备605和输入设备606。输出设备605和处理器601通信,可以以多种方式来显示信息。例如,输出设备605可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode raytube,CRT)显示设备,或投影仪(projector)等。输入设备606和处理器601通信,可以以多种方式接收用户的输入。例如,输入设备606可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机设备可以是一个通用设备或者是一个专用设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digitalassistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图6中类似结构的设备。本申请实施例不限定计算机设备的类型。
本申请实施例可以根据上述方法示例对存储设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,以采用集成的方式划分各个功能单元的情况下,图7示出了一种控件遮挡检测装置的示意图。
如图7所示,本申请实施例提供的控件遮挡检测装置,包括:
第一获取单元701,用于获取备选池中的第一控件,该备选池中包含多个尺寸符合预设值的可点击控件,该第一控件为该备选池中的一个控件;
第一检测单元702,用于检测该第一获取单元701获取的该第一控件是否拦截点击操作;
判断单元703,用于当该第一检测单元702检测到该第一控件拦截点击操作时,判断该第一控件是否为白名单中的控件;
第二检测单元704,用于当该判断单元703判断该第一控件不是白名单上的控件时,检测该第一控件是否遮挡其他控件,或者,检测该第一控件是否超出该第一控件的父控件的尺寸范围;
输出单元705,用于当该第二检测单元704检测到该第一控件遮挡其他控件,或者,该第一控件超出该第一控件的父控件的尺寸范围时,输出该第一控件的控件信息。
可选地,该控件遮挡检测装置还包括:
第二获取单元706,用于获取该第一控件的坐标信息及尺寸信息,该第一控件为客户端中的一个控件;
第三检测单元707,用于当该第二获取单元706获取的该第一控件的尺寸信息符合预设值时,检测该第一控件是否为可点击控件;
加入单元708,用于当该第三检测单元707检测到的该第一控件为可点击控件时,将该第一控件加入该备选池中。
可选地,该控件遮挡检测装置还包括:
创建单元709,用于创建该白名单,该白名单中记录有不需进行控件遮挡检测的控件的控件信息。
可选地,该第二检测单元704,还用于:
检测该第一控件的坐标信息及尺寸信息是否与该备选池中的其他控件的坐标信息及尺寸信息存在交集。
可选地,该第二检测单元704,还用于:
检测该第一控件的坐标信息是否位于该第一控件的父控件的坐标信息之内;
检测该第一控件的尺寸信息是否小于该第一控件的父控件的尺寸信息;
当该第一控件的坐标信息位于该第一控件的父控件的坐标信息之内,且该第一控件的及尺寸信息小于该第一控件的父控件的尺寸信息时,判定该第一控件没有超出该第一控件的父控件的尺寸范围。
可选地,该输出单元705,还用于:
截取该第一控件所在界面的截图;
标记该第一控件在该截图中的位置;
生成日志,该日志中记录有该第一控件的控件信息。
可选地,该第一控件的控件信息包括:
该第一控件的坐标信息、尺寸信息、控件名称及该第一控件所执行的动作信息。
可选地,该加入单元708还用于:
将该第一控件加入白名单中。
可选地,该第二获取单元706还用于:
获取该第一控件相对于该第一控件的父控件的第一坐标信息;
对该第一坐标信息进行坐标映射,得到第二坐标信息,该第二坐标信息用于标记该第一控件相对于界面窗口的坐标信息。
图8示出了一种软件检测装置。
如图8所示,本申请实施例提供的软件检测装置,包括:
确定单元801,用于确定待检测的至少一个目标界面,该目标界面为软件运行过程中的界面;
调用单元802,用于调用如上任一项所述的控件遮挡检测方法,逐一检测该确定单元801所确定的该目标界面中的各个控件是否超出父控件的范围或存在遮挡;
输出单元803,用于输出经该调用单元802调用的控件遮挡检测方法检测后,该目标界面中包含有超出父控件的范围或存在遮挡的控件所在界面的界面截图,该界面截图中标注有该超出父控件的范围或存在遮挡的控件的控件信息。
进一步的,本发明实施例还提供一种计算机存储介质,包括指令,当该指令在计算机设备上运行时,使得该计算机设备执行上述控件遮挡检测方法。
进一步的,本发明实施例还提供一种计算机存储介质,包括指令,当该指令在计算机设备上运行时,使得该计算机设备执行上述软件检测方法。
有关本申请实施例提供的计算机存储介质中存储的程序的详细描述可参照上述实施例,在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种控件遮挡检测方法,其特征在于,包括:
获取第一控件的坐标信息及尺寸信息,所述第一控件为客户端中的一个控件;
当所述第一控件的尺寸信息符合预设值时,检测该第一控件是否为可点击控件;
当所述第一控件为可点击控件时,将所述第一控件加入备选池中;
创建白名单,所述白名单中记录有不需进行控件遮挡检测的控件的控件信息;
获取所述备选池中的第一控件,所述备选池中包含多个尺寸符合预设值的可点击控件;
检测所述第一控件是否拦截点击操作;
当所述第一控件拦截点击操作时,判断所述第一控件是否为所述白名单中的控件;
当所述第一控件不为白名单上的控件时,检测所述第一控件是否与其他控件重叠,或者,检测所述第一控件是否超出所述第一控件的父控件的尺寸范围;
当所述第一控件遮挡其他控件,或者,所述第一控件超出所述第一控件的父控件的尺寸范围时,输出所述第一控件的控件信息。
2.根据权利要求1所述的方法,其特征在于,所述检测所述第一控件是否与其他控件重叠,包括:
检测所述第一控件的坐标信息及尺寸信息是否与所述备选池中的其他控件的坐标信息及尺寸信息存在交集,当存在交集时判定所述第一控件与存在交集的控件重叠;
所述检测所述第一控件是否超出所述第一控件的父控件的尺寸范围,包括:
检测所述第一控件的坐标信息是否位于所述第一控件的父控件的坐标信息之内;
检测所述第一控件的尺寸信息是否小于所述第一控件的父控件的尺寸信息;
当所述第一控件的坐标信息位于所述第一控件的父控件的坐标信息之内,且所述第一控件的及尺寸信息小于所述第一控件的父控件的尺寸信息时,判定所述第一控件没有超出所述第一控件的父控件的尺寸范围。
3.根据权利要求1所述的方法,其特征在于,所述输出所述第一控件的控件信息,包括:
截取所述第一控件所在界面的截图;
标记所述第一控件在所述截图中的位置;
生成日志,所述日志中记录有所述第一控件的控件信息。
4.根据权利要求2至3任一所述的方法,其特征在于,所述获取所述第一控件的坐标信息,包括:
获取所述第一控件相对于所述第一控件的父控件的第一坐标信息;
对所述第一坐标信息进行坐标映射,得到第二坐标信息,所述第二坐标信息用于标记所述第一控件相对于界面窗口的坐标信息。
5.一种软件检测方法,其特征在于,包括:
确定待检测的至少一个目标界面,所述目标界面为软件运行过程中的界面;
调用如权利要求1至4任一所述的控件遮挡检测方法,逐一检测所述目标界面中的各个控件是否超出父控件的范围或存在遮挡;
输出所述目标界面中包含有超出父控件的范围或存在遮挡的控件所在界面的界面截图,所述界面截图中标注有所述超出父控件的范围或存在遮挡的控件的控件信息。
6.一种控件遮挡检测装置,其特征在于,包括:
第一获取单元,用于获取备选池中的第一控件,所述备选池中包含多个尺寸符合预设值的可点击控件,所述第一控件为所述备选池中的一个控件;
第一检测单元,用于检测所述第一获取单元获取的所述第一控件是否拦截点击操作;
判断单元,用于判断所述第一控件是否为白名单中的控件;
第二检测单元,用于检测所述第一控件是否遮挡其他控件,或者,检测所述第一控件是否超出所述第一控件的父控件的尺寸范围;
输出单元,用于当所述第二检测单元检测到所述第一控件遮挡其他控件,或者,所述第一控件超出所述第一控件的父控件的尺寸范围时,输出所述第一控件的控件信息;
第二获取单元,用于获取所述第一控件的坐标信息及尺寸信息,所述第一控件为客户端中的一个控件;
第三检测单元,用于当所述第一控件的尺寸信息符合预设值时,检测该第一控件是否为可点击控件;
加入单元,用于当所述第一控件为可点击控件时,将所述第一控件加入所述备选池中;
创建单元,用于创建所述白名单,所述白名单中记录有不需进行控件遮挡检测的控件的控件信息。
7.根据权利要求6所述的装置,其特征在于,所述输出单元,还用于:
截取所述第一控件所在界面的截图;
标记所述第一控件在所述截图中的位置;
生成日志,所述日志中记录有所述第一控件的控件信息。
8.一种软件检测装置,其特征在于,包括:
确定单元,用于确定待检测的至少一个目标界面,所述目标界面为软件运行过程中的界面;
调用单元,用于调用如权利要求1至4任一所述的控件遮挡检测方法,逐一检测所述确定单元所确定的所述目标界面中的各个控件是否超出父控件的范围或存在遮挡;
输出单元,用于输出经所述调用单元调用的控件遮挡检测方法检测后,所述目标界面中包含有超出父控件的范围或存在遮挡的控件所在界面的界面截图,所述界面截图中标注有所述超出父控件的范围或存在遮挡的控件的控件信息。
9.一种计算机设备,其特征在于,所述计算机设备包括:交互装置、输入/输出(I/O)接口、处理器和存储器,所述存储器中存储有程序指令;
所述交互装置用于获取用户输入的操作指令;
所述处理器用于执行存储器中存储的程序指令,执行如权利要求1-4任意一项或权利要求5所述的方法。
10.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1-4中任一项或权利要求5所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910667652.3A CN112286782B (zh) | 2019-07-23 | 2019-07-23 | 控件遮挡检测方法、软件检测方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910667652.3A CN112286782B (zh) | 2019-07-23 | 2019-07-23 | 控件遮挡检测方法、软件检测方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286782A CN112286782A (zh) | 2021-01-29 |
CN112286782B true CN112286782B (zh) | 2023-10-10 |
Family
ID=74419259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910667652.3A Active CN112286782B (zh) | 2019-07-23 | 2019-07-23 | 控件遮挡检测方法、软件检测方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286782B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988586B (zh) * | 2021-03-25 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 一种控件测试方法、装置、电子设备及存储介质 |
CN116521039B (zh) * | 2023-04-28 | 2024-04-02 | 重庆赛力斯凤凰智创科技有限公司 | 被覆盖视图的移动方法、装置、电子设备及可读存储介质 |
CN116401178B (zh) * | 2023-06-09 | 2023-08-11 | 成都融见软件科技有限公司 | Ui组件问题点定位方法、电子设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092434A (zh) * | 2017-04-19 | 2017-08-25 | 网易(杭州)网络有限公司 | 重叠目标选择方法及装置、存储介质、电子设备 |
CN109529319A (zh) * | 2018-11-28 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 界面控件的显示方法、设备及存储介质 |
-
2019
- 2019-07-23 CN CN201910667652.3A patent/CN112286782B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092434A (zh) * | 2017-04-19 | 2017-08-25 | 网易(杭州)网络有限公司 | 重叠目标选择方法及装置、存储介质、电子设备 |
CN109529319A (zh) * | 2018-11-28 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 界面控件的显示方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112286782A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112286782B (zh) | 控件遮挡检测方法、软件检测方法、装置及介质 | |
CN107193750B (zh) | 一种脚本录制方法和装置 | |
WO2021208512A1 (zh) | 用户界面的控件信息的获取方法、装置、终端及存储介质 | |
US9280451B2 (en) | Testing device | |
CN112199093B (zh) | 资源检查方法、装置、设备及计算机可读存储介质 | |
US11487424B2 (en) | Method for displaying content, terminal, and storage medium | |
JP2020510250A (ja) | サービス処理方法およびデバイス | |
CN103593171A (zh) | 多区域截图的方法和设备 | |
CN109634835B (zh) | 内存泄漏分析方法及相关装置 | |
CN105808257B (zh) | 一种应用弹窗识别方法和装置 | |
JP2008015940A (ja) | ソフトウェア開発装置及びソフトウェア開発方法 | |
WO2017049893A1 (zh) | 一种应用程序的测试方法、测试装置及移动终端 | |
CN111736740B (zh) | 图片热区生成方法、装置、设备和存储介质 | |
CN111309743A (zh) | 报表推送方法及装置 | |
CN108845924B (zh) | 控制响应区域显示控制方法、电子装置及存储介质 | |
CN110633220A (zh) | 调试信息显示方法、装置、存储介质及电子设备 | |
CN108334341B (zh) | 用户界面ui组件的定位方法及装置 | |
KR101796009B1 (ko) | 프로그램 자동 분석 시스템 및 이를 이용한 자동분석 방법 | |
CN105138458A (zh) | 智能终端与电脑端结合录制自动化测试脚本的方法及系统 | |
US9069897B2 (en) | Capturing telemetry data by dynamic language engine | |
CN104808913A (zh) | 事件响应方法和装置 | |
WO2022194090A1 (zh) | 一种多语言混合调试方法及装置 | |
WO2015039585A1 (en) | Method and device for testing software reliability | |
CN107621903B (zh) | 一种双触摸屏设备及其响应控制方法 | |
CN113467867A (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 |