发明内容
本公开实施例至少提供一种用户界面图像中功能区域的识别方法及装置。
第一方面,本公开实施例提供了一种用户界面图像中功能区域的识别方法,包括:
对待检测用户界面图像对应的二值图像进行分割处理,得到至少一个封闭区域所构成的分割图像,所述分割图像的背景灰度等级为所述二值图像中最低灰度等级;
将对应的尺寸信息符合预设条件的所述分割图像确定为目标分割图像;
对所述目标分割图像进行像素反转处理,将所述目标分割图像转换为以背景灰度等级为所述二值图像中最高灰度等级的图像;
基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,所述将对应的尺寸信息符合预设条件的所述分割图像确定为目标分割图像,包括:
针对每一个所述分割图像,确定该分割图像与待检测用户界面图像的尺寸比值;
将对应的所述尺寸比值大于第一设定值的分割图像确定为所述目标分割图像。
一种可能的实施方式中,所述方法还包括:
确定所述二值图像中最高灰度值的像素点形成的封闭区域,作为第一封闭区域;
确定所述二值图像中最低灰度值的像素点形成的封闭区域,作为第二封闭区域;
当所述第一封闭区域与所述第二封闭区域之间的相对位置关系满足预设条件时,根据所述第一封闭区域确定所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,所述基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域,包括:
针对每一个所述目标分割图像,根据该目标分割图像中各个像素点的位置,以及各个像素点的像素值,对所述目标分割图像中的像素点进行聚合处理,并根据聚合结果,确定所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,在基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域之后,所述方法还包括:
识别所述功能区域的类别信息;
基于所述功能区域的类别信息,为所述待检测用户界面图像生成功能区域标识信息。
一种可能的实施方式中,在识别出所述功能区域的类别信息之后,所述方法还包括:
针对每一个功能区域,基于该功能区域的类别信息,确定该功能区域对应的测试方法;
基于确定出的所述测试方法,对该功能区域进行测试。
一种可能的实施方式中,在基于所述功能区域的类别信息,为所述待检测用户界面图像生成功能区域标识信息之后,所述方法还包括:
存储所述功能区域标识信息;
当再次识别到其他待检测用户界面图像中的功能区域的类别信息后,基于再次识别到的类别信息、以及存储的所述功能区域标识信息,确定是否需要对所述其他待检测用户界面图像中的功能区域进行测试。
第二方面,本公开提供了一种用户界面图像中功能区域的识别装置,包括:
分割模块,用于对待检测用户界面图像对应的二值图像进行分割处理,得到至少一个封闭区域所构成的分割图像,所述分割图像的背景灰度等级为所述二值图像中最低灰度等级;
第一确定模块,用于将对应的尺寸信息符合预设条件的所述分割图像确定为目标分割图像;
像素反转模块,用于对所述目标分割图像进行像素反转处理,将所述目标分割图像转换为以背景灰度等级为所述二值图像中最高灰度等级的图像;
第二确定模块,用于基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,所述第一确定模块,在将对应的尺寸信息符合预设条件的所述分割图像确定为目标分割图像时,用于:
针对每一个所述分割图像,确定该分割图像与待检测用户界面图像的尺寸比值;
将对应的所述尺寸比值大于第一设定值的分割图像确定为所述目标分割图像。
一种可能的实施方式中,所述第二确定模块,还用于:
确定所述二值图像中最高灰度值的像素点形成的封闭区域,作为第一封闭区域;
确定所述二值图像中最低灰度值的像素点形成的封闭区域,作为第二封闭区域;
当所述第一封闭区域与所述第二封闭区域之间的相对位置关系满足预设条件时,根据所述第一封闭区域确定所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,所述第二确定模块,在基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域时,用于:
针对每一个所述目标分割图像,根据该目标分割图像中各个像素点的位置,以及各个像素点的像素值,对所述目标分割图像中的像素点进行聚合处理,并根据聚合结果,确定所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,所述装置还包括,生成模块,所述生成模块用于:
在基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域之后,识别所述功能区域的类别信息;
基于所述功能区域的类别信息,为所述待检测用户界面图像生成功能区域标识信息。
一种可能的实施方式中,所述装置还包括测试模块,所述测试模块,用于:
在识别出所述功能区域的类别信息之后,针对每一个功能区域,基于该功能区域的类别信息,确定该功能区域对应的测试方法;
基于确定出的所述测试方法,对该功能区域进行测试。
一种可能的实施方式中,所述装置还包括测试判断模块,所述测试判断模块,用于:
在基于所述功能区域的类别信息,为所述待检测用户界面图像生成功能区域标识信息之后,存储所述功能区域标识信息;
当再次识别到其他待检测用户界面图像中的功能区域的类别信息后,基于再次识别到的类别信息、以及存储的所述功能区域标识信息,确定是否需要对所述其他待检测用户界面图像中的功能区域进行测试。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的用户界面图像中功能区域的识别方法中,可以先将待检测用户界面图像划分成多个分割图像并筛选出目标分割图像,此时,目标分割图像的背景灰度等级为二值图像中最低灰度等级(一般为黑色),然后通过对目标分割图像的进行像素反转处理,经过像素反转处理后,此时目标分割图像的背景灰度等级为二至图像中最高灰度等级(一般为白色),最后基于经过像素反转处理后的目标分割图像,确定待检测用户界面图像中的各个功能区域,通过这种方法,可以在无需借助测试接口的情况下确定出待检测用户界面图像中的各个功能区域,无需借助测试接口,从而可以使得测试工具借助识别出的各个功能区域,对未提供测试接口的用户界面进行测试;另外,通过像素反转,可以将部分区域图像的背景颜色由最低灰度等级调整为最高灰度等级,从而提高了包含多种深色背景的图像中功能区域识别的精度。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
在借助测试工具对用户界面的各个功能区域进行测试时,首先需要确定各个功能区域在用户界面中的位置,然后利用测试工具对各个功能区域进行对应的测试,例如对用户界面中的按钮进行点击操作等。由于部分用户界面,可能并未提供测试接口,这就导致测试工具无法通过用户界面的后端代码,识别用户界面中的各个功能区域。
相关技术中,可以通过横向扫描和纵向扫描的方式确定用户界面中的功能区域。具体的,可以预先设置用户界面的背景颜色,例如设置背景颜色为白色,分别横向扫描和纵向扫描该用户界面,识别用户界面中的非白色区域,然后将各个非白色区域所构成的封闭区域确定为一个功能区域。然而这种方法中,对于非白色区域中的其他区域中的功能区域无法进行识别。
示例性的,如图1所示,该图中展示了用户界面,图中灰色区域中包括两个按钮,通过上述方法进行扫描时,会将灰色区域确认为一个功能区域,这就导致灰色区域中的两个按钮无法被识别到,从而导致用户界面的功能区域识别准确率较低。
基于此,本公开提供了一种用户界面图像中功能区域的识别方法,可以先将待检测用户界面图像划分成多个分割图像并筛选出目标分割图像,此时,目标分割图像的背景灰度等级为二值图像中最低灰度等级(一般为黑色),然后通过对目标分割图像的进行像素反转处理,经过像素反转处理后,此时目标分割图像的背景灰度等级为二至图像中最高灰度等级(一般为白色),最后基于经过像素反转处理后的目标分割图像,确定待检测用户界面图像中的各个功能区域,通过这种方法,可以在无需借助测试接口的情况下确定出待检测用户界面图像中的各个功能区域,无需借助测试接口,从而可以使得测试工具借助识别出的各个功能区域,对未提供测试接口的用户界面进行测试;另外,通过像素反转,可以将部分区域图像的背景颜色由最低灰度等级调整为最高灰度等级,从而提高了包含多种深色背景的图像中功能区域识别的精度。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种用户界面图像中功能区域的识别方法进行详细介绍,本公开实施例所提供的用户界面图像中功能区域的识别方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。
下面以本公开所提供的用户界面图像中功能区域的识别方法应用于测试工具为例,对本方案中所公开的用户界面图像中功能区域的识别方法展开介绍,其中,该测试工具为部署在上述计算机设备中的软件程序。
参见图2所示,为本公开实施例提供的用户界面图像中功能区域的识别方法的流程图,该方法包括以下几个步骤:
步骤201、对待检测用户界面图像对应的二值图像进行分割处理,得到至少一个封闭区域所构成的分割图像,所述分割图像的背景灰度等级为所述二值图像中最低灰度等级。
步骤202、将对应的尺寸信息符合预设条件的所述分割图像确定为目标分割图像。
步骤203、对所述目标分割图像进行像素反转处理,将所述目标分割图像转换为以背景灰度等级为所述二值图像中最高灰度等级的图像。
步骤204、基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域。
以下是上述步骤201~步骤204的详细介绍。
针对步骤201:
在一种可能的实施方式中,待检测用户界面图像可以是用户端应用界面的截图,其中,获取待检测用户界面图像的步骤,可以是在对用户端的应用界面进行测试时,通过用户端截取应用界面的图像完成的,用户端截取的应用界面的图像即为待检测用户界面图像;也可以是预先存储在数据库中的图片,在获取待检测用户界面图像时,可以从数据库中读取预先存储的图片。
其中,在确定待检测用户界面图像对应的多个分割图像时,可以将待检测用户界面图像转换为灰度图像,基于灰度图像中各像素点的灰度值,将灰度图像进行二值化处理,转换为二值图像,然后检测二值图像中的封闭区域,并将背景灰度等级为最低灰度等级的封闭区域对应的图像部分确定为分割图像。
需要说明的是,一般而言,所述分割图像的背景灰度等级为二至图像中最低灰度等级是指,分割图像的背景颜色是黑色,也即背景部分的像素值为0;所述将所述目标分割图像转换为以背景灰度等级为所述二值图像中最高灰度等级的图像是指,将目标分割图像转换为以白色为背景的图像,也即将背景区域的像素值转换为255。
在将灰度图像进行二值化处理时,可以将灰度图像中灰度值大于第一设定阈值的像素点的像素值调整为0,将灰度图像中灰度值小于或等于第一设定阈值的像素点的像素值调整为255。
示例性的,如图3所示图像,图3所示的图像为待检测用户界面图像对应的二值图像,在检测除白色背景区域外的封闭区域时,可以先检测图像中的除白色区域外的背景区域,然后从检测出的除白色区域外的背景区域中的封闭区域,如区域1和区域2,区域1和区域2虽然并不是完整的黑色区域(区域1和区域2中还包括有白色的按钮),但是是由黑色区域所构成的封闭区域,因此,区域1和区域2对应的图像为该待检测用户界面图像对应的分割图像。
针对步骤202、
实际应用中,考虑到并非所有的分割图像中都可能存在有功能区域,因此,为提高功能区域识别的效率,可以先根据分割图像的尺寸信息,从分割图像中筛选出目标分割图像,然后对目标分割图像进行识别。
在一种可能的实施方式中,在根据分割图像的尺寸信息,从分割图像中筛选出目标分割图像时,针对每一个分割图像,可以先确定该分割图像的与待检测用户界面图像的尺寸比例,然后将对应的比值大于第一设定值的分割图像确定为目标分割图像。
其中,在确定分割图像与待检测用户界面图像之间的尺寸比例时,可以根据以下信息中的任意一种确定:
长度、宽度、面积。
以根据宽度确定分割图像与待检测用户界面图像之间的尺寸比例为例,如图4所示,图4为待检测用户界面图像对应的二值图像,包括分割区域1和分割区域2(分割区域1和分割区域2为黑色区域),以及白色背景区域,目标分割区域为需要进一步识别的区域,则在确定目标分割图像时,可以先分别计算分割区域1与待检测用户界面图像的宽度之间的比值,以及计算分割区域2与待检测用户界面图像的宽度之间的比值,若确定分割区域1对应的比值大于第一设定值,则确定分割区域1对应的图像为目标分割图像。
需要说明的是,目标分割图像可以包括多个符合上述条件的分割图像。
针对步骤203、
由于在确定分割图像时,是根据待检测用户界面图像对应的二值图像进行分割图像得到的,因此分割图像均为二值图像,在这种情况下,目标分割图像中仅包含两种像素点:像素值为第一像素值的像素点和像素值为第二像素值的像素点。一般情况下,第一像素值为255,第二像素值为0。
在对目标分割图像进行像素反转处理时,可以将目标分割图像中像素值为255的像素点的像素值调整为0,将目标分割图像中像素值为0的像素点的像素值调整为255。
针对步骤204、
在一种可能的实施方式中,在基于经过像素反转处理后的所述目标分割图像,确定待检测用户界面图像中的各个功能区域时,针对每一个目标分割图像,可以根据该目标分割图像中各个像素点的位置、以及各个像素点的像素值,对结构化图像中的像素点进行聚合处理,并根据聚合结果,确定待检测用户界面图像中的功能区域。
具体的,可以通过扫描的方式,确定结构化图像中像素值为255的点所在的位置,以及像素值为0的点所在的位置,然后根据像素值为0的点所在的位置,对像素值为0的点进行聚合处理,经过聚合处理,可以确定属于同一功能区域的像素点。
本申请另外一种可能的实施方式中,在基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域之后,还可以识别功能区域的类别信息,然后基于识别的功能区域的类别信息,为待检测用户界面图像生成功能区域标识信息。
其中,功能区域的类别信息包括以下类别中的一种:
文字、图片。
示例性的,在基于识别的功能区域的类别信息,为待检测用户界面图像生成功能区域标识信息时,可以以下述方式生成功能区域标识信息:图片数量_文字区域数量@各图片在待检测用户界面图像中所占比例。若待检测用户界面图像中包括三张图片,四部分文字区域,则可以为该待检测用户界面图像生成如下UI标识信息:IMG3_TXT4@3_3_3。其中,IMG表示图片,IMG3表示三张图片,TXT表示文字区域,TXT4表示4个部分文字区域,后边三个“3”分别表示各个图片在待检测用户界面图像中所占的比例为30%。
其中,在确定功能区域的类别信息时,可以根据各个功能区域的尺寸来确定。若确定出的功能区域的尺寸在第一预设尺寸范围内,则确定该功能区域的属性信息为文字,若确定出的功能区域的尺寸在第二预设尺寸范围内,则确定该功能区域的类别信息为图片,第二预设尺寸范围内的最小尺寸大于第一预设尺寸范围内的最大尺寸。
在另外一种可能的实施方式中,在确定功能区域的类别信息时,还可以对功能区域对应的图像进行语义识别,根据语义识别结果,确定功能区域所对应的类别信息,具体识别方法将不再展开介绍。
本申请另外一示例中,在对待检测图像对应的二值图像进行分割处理后,还可以将二值图像中最高灰度值的像素点形成的封闭区域,作为第一封闭区域,确定二值图像中最低灰度值的像素点形成的封闭区域,作为第二封闭区域,当第一封闭区域和第二封闭区域之间的相对位置关系满足预设条件时,直接根据第一封闭区域确定待检测用户界面图像中的功能区域。
在一种可能的实施方式中,第一封闭区域与第二封闭区域之间的相对位置关系所满足预设条件可以为,第一封闭区域位于第二封闭区域的中部(即第二封闭区域将第一封闭区域包围),且第二封闭区域的长与待检测用户界面图像的长相等(即第二封闭区域的上端与待检测用户界面图像的上端重合,第二封闭区域的下端与待检测用户界面图像的下端重合)。
示例性的,可以如图5所示,图5中白色区域为第一封闭区域,黑色区域为第二封闭区域,白色区域位于黑色区域的中部。
在另外一种可能的实施方式中,在基于二值图像中的第一封闭区域,确定出待检测用户界面图像中的功能区域时,可以先将第一封闭区域从二值图像中分割出来,然后基于分割出的图像,确定功能区域。
其中,在将第一封闭区域从二值图像中分割时,为节省代码长度,可以沿用步骤201的图像分割算法,但由于步骤201中所述的图像分割算法,是将图像中除浅色背景外的黑色背景的封闭区域分割出来,因此,在运用到本实施方式中进行分割之前,需要将二值图像进行像素反转处理,然后利用步骤201中的图像分割算法,将反转后的二值图像中最低灰度值的像素点所构成的封闭区域分割出来。
通过上述分割算法分割出图像,然后确定分割出的图像在待检测用户界面图像中的位置坐标,再基于位置坐标,待检测用户界面图像对应的原始二值图像中再次将该位置坐标区域的图像分割出来,此时,分割出的图像为二值图像中最高灰度值的像素点形成的封闭区域图像,也即第一封闭区域图像。
在实际的应用场景中,该种方法可应用于弹窗检测。若待检测用户界面图像中包含有弹窗,在一般的场景中,弹窗的像素值高于弹窗的背景区域的像素值,在这种情况下,若将待检测用户界面图像转换为灰度图像,再对灰度图像进行二值化处理之后,弹窗所在区域为白色区域,除弹窗外的背景区域为黑色区域,若根据步骤201中所述的方法,确定分割图像时,确定出的分割图像为黑色区域,但是在实际的应用过程中,待检测的区域应该为弹窗所在的区域,即白色区域。
因此,在这种情况下,通过调整待检测用户界面图像对应的二值图像中的像素点的像素值,可以直接将弹窗所在区域对应的图像确定为结构化图像。
在另外一种可能的实施方式中,在识别出功能区域的类别信息之后,还可以针对每一个功能区域,基于该功能区域的类别信息,确定该功能区域对应的测试方法,然后基于确定出的测试方法对该功能区域进行测试。
示例性的,若识别出的功能区域为按钮,则可以确定与按钮对应的测试方法为点击,然后对该功能区域进行点击,以实现对该功能区域的测试。
在另外一种可能的实施方式中,在基于功能区域的类别信息,为待检测用户界面图像生成功能区域标识信息之后,还可以存储功能区域标识信息,当再次识别到其他待检测用户界面图像中的功能区域的类别信息后,可以基于再次识别到的类别信息、以及存储的功能区域标识信息,确定是否需要对所述其他待检测用户界面图像中的功能区域进行测试。
由于同一类型的用户界面测试一遍即可,在测试过一次之后,存储生成功能区域标识信息,当再次识别到其他待检测用户界面图像中的功能区域的类别信息之后,若检测到与存储的功能区域标识信息属于同一类型的用户界面,则可以不用再次对该待检测用户界面图像进行测试,以提高用户界面测试的效率。
本公开实施例提供的用户界面图像中功能区域的识别方法中,可以先将待检测用户界面图像划分成多个分割图像并筛选出目标分割图像,此时,目标分割图像的背景灰度等级为二值图像中最低灰度等级(一般为黑色),然后通过对目标分割图像的进行像素反转处理,经过像素反转处理后,此时目标分割图像的背景灰度等级为二至图像中最高灰度等级(一般为白色),最后基于经过像素反转处理后的目标分割图像,确定待检测用户界面图像中的各个功能区域,通过这种方法,可以在无需借助测试接口的情况下确定出待检测用户界面图像中的各个功能区域,无需借助测试接口,从而可以使得测试工具借助识别出的各个功能区域,对未提供测试接口的用户界面进行测试;另外,通过像素反转,可以将部分区域图像的背景颜色由最低灰度等级调整为最高灰度等级,从而提高了包含多种深色背景的图像中功能区域识别的精度。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与用户界面图像中功能区域的识别方法对应的用户界面图像中功能区域的识别装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述界面区域识别相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参见图6所示,图6公开了本公开实施例所提供的一种用户界面图像中功能区域的识别装置的架构示意图,该用户界面图像中功能区域的识别装置包括分割模块601、第一确定模块602、像素反转模块603、第二确定模块604、生成模块605、测试模块606以及测试判断模块607,具体的:
分割模块601,用于对待检测用户界面图像对应的二值图像进行分割处理,得到至少一个封闭区域所构成的分割图像,所述分割图像的背景灰度等级为所述二值图像中最低灰度等级;
第一确定模块602,用于将对应的尺寸信息符合预设条件的所述分割图像确定为目标分割图像;
像素反转模块603,用于对所述目标分割图像进行像素反转处理,将所述目标分割图像转换为以背景灰度等级为所述二值图像中最高灰度等级的图像;
第二确定模块604,用于基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,所述第一确定模块602,在将对应的尺寸信息符合预设条件的所述分割图像确定为目标分割图像时,用于:
针对每一个所述分割图像,确定该分割图像与待检测用户界面图像的尺寸比值;
将对应的所述尺寸比值大于第一设定值的分割图像确定为所述目标分割图像。
一种可能的实施方式中,所述第二确定模块604,还用于:
确定所述二值图像中最高灰度值的像素点形成的封闭区域,作为第一封闭区域;
确定所述二值图像中最低灰度值的像素点形成的封闭区域,作为第二封闭区域;
当所述第一封闭区域与所述第二封闭区域之间的相对位置关系满足预设条件时,根据所述第一封闭区域确定所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,所述第二确定模块604,在基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域时,用于:
针对每一个所述目标分割图像,根据该目标分割图像中各个像素点的位置,以及各个像素点的像素值,对所述目标分割图像中的像素点进行聚合处理,并根据聚合结果,确定所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,所述装置还包括,生成模块605,所述生成模块605用于:
在基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域之后,识别所述功能区域的类别信息;
基于所述功能区域的类别信息,为所述待检测用户界面图像生成功能区域标识信息。
一种可能的实施方式中,所述装置还包括测试模块606,所述测试模块606,用于:
在识别出所述功能区域的类别信息之后,针对每一个功能区域,基于该功能区域的类别信息,确定该功能区域对应的测试方法;
基于确定出的所述测试方法,对该功能区域进行测试。
一种可能的实施方式中,所述装置还包括测试判断模块607,所述测试判断模块607,用于:
在基于所述功能区域的类别信息,为所述待检测用户界面图像生成功能区域标识信息之后,存储所述功能区域标识信息;
当再次识别到其他待检测用户界面图像中的功能区域的类别信息后,基于再次识别到的类别信息、以及存储的所述功能区域标识信息,确定是否需要对所述其他待检测用户界面图像中的功能区域进行测试。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本申请实施例还提供了一种电子设备。参照图7所示,为本申请实施例提供的电子设备的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换,当电子设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701在执行以下指令:
对待检测用户界面图像对应的二值图像进行分割处理,得到至少一个封闭区域所构成的分割图像,所述分割图像的背景灰度等级为所述二值图像中最低灰度等级;
将对应的尺寸信息符合预设条件的所述分割图像确定为目标分割图像;
对所述目标分割图像进行像素反转处理,将所述目标分割图像转换为以背景灰度等级为所述二值图像中最高灰度等级的图像;
基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,处理器701执行的指令中,所述将对应的尺寸信息符合预设条件的所述分割图像确定为目标分割图像,包括:
针对每一个所述分割图像,确定该分割图像与待检测用户界面图像的尺寸比值;
将对应的所述尺寸比值大于第一设定值的分割图像确定为所述目标分割图像。
一种可能的实施方式中,处理器701执行的指令中,所述方法还包括:
确定所述二值图像中最高灰度值的像素点形成的封闭区域,作为第一封闭区域;
确定所述二值图像中最低灰度值的像素点形成的封闭区域,作为第二封闭区域;
当所述第一封闭区域与所述第二封闭区域之间的相对位置关系满足预设条件时,根据所述第一封闭区域确定所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,处理器701执行的指令中,所述基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域,包括:
针对每一个所述目标分割图像,根据该目标分割图像中各个像素点的位置,以及各个像素点的像素值,对所述目标分割图像中的像素点进行聚合处理,并根据聚合结果,确定所述待检测用户界面图像中的功能区域。
一种可能的实施方式中,处理器701执行的指令中,在基于经过像素反转处理后的所述目标分割图像,确定出所述待检测用户界面图像中的功能区域之后,所述方法还包括:
识别所述功能区域的类别信息;
基于所述功能区域的类别信息,为所述待检测用户界面图像生成功能区域标识信息。
一种可能的实施方式中,处理器701执行的指令中,在识别出所述功能区域的类别信息之后,所述方法还包括:
针对每一个功能区域,基于该功能区域的类别信息,确定该功能区域对应的测试方法;
基于确定出的所述测试方法,对该功能区域进行测试。
一种可能的实施方式中,处理器701执行的指令中,在基于所述功能区域的类别信息,为所述待检测用户界面图像生成功能区域标识信息之后,所述方法还包括:
存储所述功能区域标识信息;
当再次识别到其他待检测用户界面图像中的功能区域的类别信息后,基于再次识别到的类别信息、以及存储的所述功能区域标识信息,确定是否需要对所述其他待检测用户界面图像中的功能区域进行测试。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的用户界面图像中功能区域的识别方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的用户界面图像中功能区域的识别方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的用户界面图像中功能区域的识别方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。