一种获取界面控件信息的方法及系统的制作方法

文档序号:6426412阅读:103来源:国知局
专利名称:一种获取界面控件信息的方法及系统的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种获取界面控件信息的方法及系统。
背景技术
随着计算机技术的飞速发展以及Windows系统的广泛应用,运行于Windows系统中的各种应用程序也越来越多,在Windows软件自动化测试中,需要以程序代替人来操作被测软件,所以程序需要得到窗口中某个控件的位置,再对其进行鼠标或键盘等操作。Windows提供了获取标准控件信息的方法,如FindWindow、GetWindow、GetWindowRect等系统API (应用程序编程接ロ)都可以获取一个控件的特定信息,Windows窗ロ或标准控件有类名、文本等属性。FindWindow函数可以通过窗ロ的文本和类名来得到窗ロ的句柄,GetWindow函数 可以通过父窗ロ的句柄和控件的文本得到控件的句柄,GetffindowRect函数可以通过控件的句柄得到控件相对于屏幕的坐标信息,有了屏幕坐标信息,自动化测试程序就可以对其进行点击、焦点切换、按键等操作。然而Windows图形界面中的控件不一定是以标准方式创建的,这种非标准控件无法或没有处理标准Windows消息,也可能不存在控件文本等属性,所以像FindWindow这类函数就无法满足需求了。非标准控件都有着独特的现实方式,可以深究其内部实现方式,或都得到控件开发方的支持,使控件接受特定的消息,从而返回相应的信息。但这种方法不够通用,每处理ー种不同的非标准控件就要使用ー种特定的方法,降低对系统自动化测试的开发效率。如图I所示的图形界面就是由ー组非标准的控件组成,用常规方法无法确定其中复选框和按钮的位置。由于非标准控件的实现方法各有不同,因此当前需要一种针对Windows图形界面中非标准窗ロ控件的选取的技术方案,以达到在Windows系统下进行自动化测试的目的。

发明内容
本发明所要解决的技术问题是提供一种获取界面控件信息的方法及系统,解决了如何在Windows图形界面中选取需要的非标准窗ロ控件的问题,达到在Windows系统下进行自动化测试的目的。为了解决上述问题,本发明提供了一种获取界面控件信息的方法,包括根据预设策略,在界面中选定一区域,并截取该区域的图像,其中所述选定区域与事先获得的包含待检测控件的区域一致;根据所述选定区域的图像的像素组合,按预设策略获取该选定区域图像的像素特征;根据所述选定区域图像的像素特征与按预设策略事先获得的包含待检测控件的区域图像的像素特征的比较结果,确定该选定区域内的界面控件的信息。
进ー步地,上述方法还可包括,所述按预设策略获取该区域图像的像素特征的步骤,包括根据欲检测的控件的颜色确定目标像素值;计算所述目标像素值占所述选定区域图像的像素组合中的比例。进ー步地,上述方法还可包括,所述计算目标像素值占所述选定区域图像的像素组合中的比例的步骤,包括
将所述选定区域图像中各像素的值保存在一个数组中,遍历该数组,计算该数组中的目标像素值占数组总数的比例。进ー步地,上述方法还可包括,所述根据比较结果确定该选定区域内的界面控件的信息的步骤,包括根据事先获得包含待检测控件的区域图像中的目标像素值所占比例确定比例阈值;当所述目标像素值占所述选定区域图像的像素组合中的比例达到所述阈值时,则确定该选定区域内出现了待检测控件。进ー步地,上述方法还可包括,计算所述目标像素值在所述选定区域图像中的分布特征;根据所述分布特征,确定所述待检测控件在所述选定区域中的位置。进ー步地,上述方法还可包括,所述按预设策略获取该区域图像的像素特征的步骤,包括对所述选定区域图像的像素组合形成的数据进行唯一性运算,获得唯一性結果。进ー步地,上述方法还可包括,所述对所述选定区域图像的像素组合形成的数据进行唯一性运算的步骤,包括将所述选定区域图像中各像素的值保存在一个数组中,将数组内的数据作为ー个ニ进制数据串进行唯一性运算。进ー步地,上述方法还可包括,所述根据比较结果确定该选定区域内的界面控件的信息的步骤,包括根据预设策略事先获得包含待检测控件的区域图像中的像素组合形成的数据进行唯一性运算,并获得唯一性结果;当所述选定区域图像相对应的唯一性结果与所述包含待检测控件的区域图像相对应的唯一性结果一致吋,则确定该选定区域内出现了待检测控件。进ー步地,上述方法还可包括,根据所述事先获得的包含待检测控件的区域图像中的控件位置,确定所述选定区域图像中的控件位置。进ー步地,上述方法还可包括,如果确定当前选定区域内未出现待检测控件,则将当前选定区域逐行或逐列平移一个像素后作为新的当前选定区域,再次获取该选定区域图像的像素特征。进ー步地,上述方法还可包括,所述根据预设策略,在界面中选定一区域,并截取该区域的图像的步骤,包括判断若待检测的控件在某区域出现的频率达到预设阈值,则根据该区域在界面中选定一区域,并截取该区域的图像。进ー步地,上述方法还可包括,所述确定该选定区域内的界面控件的信息的步骤,进ー步包括判断所获取的选定区域内界面控件的状态信息。进ー步地,上述方法还可包括,所述判断获取选定区域内界面控件的状态信息,包括复选框是否被勾选或控件是否可用的信息。本发明还提供了一种获取界面控件信息的系统,包括选定模块,用于根据预设策略,在界面中选定ー个区域,并将该区域内的图像截取出来,其中所述选定区域与事先获得的包含待检测控件的区域一致;特征获取模块,用于根据所述选定区域的图像的像素组合,按预设策略获取该选定区域图像的像素特征;比较模块,用于根据所述选定区域图像的像素特征与按预设策略事先获得的包含待检测控件的区域图像的像素特征的比较结果,确定该选定区域内的界面控件的信息。进ー步地,上述系统还可包括,所述特征获取模块,根据欲检测的控件的顔色确定·目标像素值,并计算所述目标像素值占所述选定区域图像的像素组合中的比例作为所述像素特征。进ー步地,上述系统还可包括,所述比较模块,用于在所述目标像素值占所述包含待检测控件的区域图像中的比例与占所述选定区域图像中的比例的差值在预设范围内吋,则确定该选定区域内出现了待检测控件。进ー步地,上述系统还可包括,所述特征获取模块,用于对所述选定区域图像的像素组合形成的数据进行唯一性运算,获得唯一性结果作为像素特征。进ー步地,上述系统还可包括,所述比较模块,用于比较所述事先获得的包含待检测控件的区域图像中的像素组合的唯一性运算结果与所述选定区域图像的像素组合的唯一性运算结果的一致性,如果一致则确定该选定区域内出现了待检测控件。与现有技术相比,应用本发明,通过分析非标准窗ロ控件在屏幕的显示的图像的像素特征,并与按预设策略事先获得的包含待检测控件的区域图像的像素特征进行比较,进而可判断窗口内选定区域中是否出现了需要的控件,而且也可获取选定区域内控件的状态信息,实现了通过统ー的方法对非标准窗ロ控件进行自动化测试的目的,減少了人的エ作強度,具有现实意义。


图I是当前的一组非标准控件的图形界面的示意图;图2是本发明的获取界面控件信息的方法的流程示意图;图3是本发明ー实施方式“像素密度扫描方法”的流程示意图;图4是本发明的非标准控件的特征为某特殊顔色的图形界面的示意图;图5是本发明的相同区域内且主体颜色相同的非标准控件的图形界面的示意图;图6是本发明的在ー个包含选定窗ロ区域的更大的区域中遍历查找与所需控件的数字摘要相同的区域的过程示意图;图7是本发明的获取界面控件信息的系统的示意图。
具体实施例方式下面结合附图和具体实施方式
对本发明作进ー步说明。
本申请的方法是建立在屏幕坐标系和窗ロ坐标系基础之上的。本申请中涉及如下概念屏幕坐标系是ー个ニ维坐标系,屏幕左上角是坐标系原点,原点坐标记为(0,0),横坐标轴与屏幕上边框重合,从左到右坐标值递增,坐标单位为像素,纵坐标轴与屏幕右边框重合,坐标值从上到下递增,坐标单位为像素。窗ロ坐标系与屏幕坐标系相似,横纵坐标均平行于屏幕边框,窗ロ左上角是坐标系原点,原点坐标记为(0,O),横坐标轴与窗ロ的上边框重合,从左到右坐标值递增,坐标单位为像素,纵坐标轴与窗ロ右边框重合,坐标值从上到下递增,坐标单位为像素。显然窗ロ坐标可以转换成屏幕坐标。本申请涉及的都是矩形区域,下文提到的区域都指矩形区域。可以用窗ロ坐标系中两个点的坐标描述ー个矩形区域,这两个点分别是区域左上角和右下角。每个区域都可 以表示为形如为(XI,yl, x2, y2)的四元组,其中(xl,yl)为左上角坐标,(x2,y2)为右下角坐标,设每个区域以像素为单位的宽为X,高为Y,后文的伪代码将用到这些设定。测试系统所要分析的选定区域在系统的配置文件中记录,因为窗ロ在屏幕上的位置是不确定的,所以在配置文件中记录的是控件在窗ロ坐标系中的位置。在测试系统运行吋,再转换成实际的屏幕坐标。MD5 :英文全称Message Digest Algorithm 5,中文定义为消息摘要算法第5版,MD5算法将一段数字信息,通过其不可逆的字符串变换算法,产生了这段信息唯一的MD5信息摘要。不同的信息通过MD5计算出的摘要不可能相同,具体可參考RFC 1321协议。控件WindowS图形界面的组成部分,可以接受键盘或鼠标等输入设备的输入,从而完成某个特定的功能,Windows系统中常见的控件有按钮、选项按钮、编辑框、列表框、滚动条和静态控件等。像素图像在计算机中的最小组成单位,像素可以理解为图像中某一点的颜色的数值。由于非标准窗ロ控件的实现方法各有不同,所以不能从控件的内部运行机制入手,本申请另辟蹊径,通过分析非标准窗ロ控件在屏幕的显示的图像来获取控件中信息。本申请可以获取在Windows图形界面的非标准窗ロ控件中信息,进而可判断窗ロ内选定的矩形区域中是否出现了需要的控件;或者判断获取选定区域内控件的状态信息,包括如复选框是否被勾选或控件是否可用等信息。如图2所示,本发明的一种获取界面控件信息的方法,包括以下步骤步骤210、根据预设策略,在界面中选定一区域,并截取该区域的图像;所要分析的选定区域在系统的配置文件中记录,因为窗ロ在屏幕上的位置是不确定的,所以在配置文件中记录的是控件在窗ロ坐标系中的位置。具体包括在界面中选定一区域,将配置文件中记录的所需控件在窗ロ坐标系中的位置信息转换成实际的屏幕坐标的位置信息,并进行存储。所述根据预设策略,在界面中选定一区域,并截取该区域的图像的步骤,具体包括判断若待检测的控件在某区域出现的频率达到预设阈值,则根据该区域在界面中选定一区域,并截取该区域的图像,其中预设阈值例如设置为待检测的控件出现的频率为50次或100次等,以实际情况而定,本发明并不限定。
值得注意的是所述选定区域的范围与所述事先获得的包含待检测控件的区域的范围一致,即两区域可表现为面积相同。步骤220、根据所述选定区域的图像的像素组合,按预设策略获取该选定区域图像的像素特征;其中,选定区域图像的像素特征可以是该选定区域图像中某位置的像素特征,或者是整个选定区域图像的像素特征。具体地,可包括以下步骤根据欲检测的控件的颜色确定目标像素值;计算所述目标像素值占所述选定区域图像的像素组合中的比例。进ー步包括 计算所述目标像素值在所述选定区域图像中的分布特征;根据所述分布特征,确定所述待检测控件在所述选定区域中的位置。在对是否出现控件做检测时,也可以检测到出现的具体位置,即可根据所述事先获得的包含待检测控件的区域图像中的控件位置,确定所述选定区域图像中的控件位置。其中,所述计算目标像素值占所述选定区域图像的像素组合中的比例的步骤,包括将所述选定区域图像中各像素的值保存在一个数组中,遍历该数组,计算该数组中的目标像素值占数组总数的比例。或者,所述按预设策略获取该区域图像的像素特征,是通过对所述选定区域图像的像素组合形成的数据进行唯一性运算,获得唯一性結果。其中,所述对所述选定区域图像的像素组合形成的数据进行唯一性运算的步骤,包括将所述选定区域图像中各像素的值保存在一个数组中,将数组内的数据作为ー个ニ进制数据串进行唯一性运算。步骤230、根据所述选定区域图像的像素特征与按预设策略事先获得的包含待检测控件的区域图像的像素特征的比较结果,确定该选定区域内的界面控件的信息。所述根据比较结果确定该选定区域内的界面控件的信息的步骤,包括根据事先获得包含待检测控件的区域图像中的目标像素值所占比例确定比例阈值;当所述目标像素值占所述选定区域图像的像素组合中的比例达到所述阈值时,则确定该选定区域内出现了待检测控件。或者所述根据比较结果确定该选定区域内的界面控件的信息的步骤,包括根据预设策略事先获得包含待检测控件的区域图像中的像素组合形成的数据进行唯一性运算,并获得唯一性结果;当所述选定区域图像相对应的唯一性结果与所述包含待检测控件的区域图像相对应的唯一性结果一致吋,则确定该选定区域内出现了待检测控件。还可进ー步包括如果确定当前选定区域内未出现待检测控件,则将当前选定区域逐行或逐列平移一个像素后作为新的当前选定区域,再次获取该选定区域图像的像素特征。
本发明的获取界面控件信息的方法ー实施方式,如图3所示,包括以下步骤步骤310、测试系统选定窗ロ区域;测试系统所要分析的选定区域在系统的配置文件中记录,因为窗ロ在屏幕上的位置是不确定的,所以在配置文件中记录的是控件在窗ロ坐标系中的位置。具体包括所述测试系统选定窗ロ区域,将所述测试系统的配置文件中记录的所需控件在窗ロ坐标系中的位置信息转换成实际的屏幕坐标的位置信息,并进行存储。步骤320、提取选定的窗ロ区域的图像,分析该图像中各控件像素的顔色值;通过Python Image Library类似的图像处理类库的方式将窗口中测试系统选定的区域内的图像提取出来。提取出的图像由像素组成,每ー个像素对应图像中的ー个点,像素的值表示该点的颜色,如黄色对应ー个值,红色对应另ー个值,具体參见RFC 797协议,可以用ー个32位·整数来记录像素的值,本发明将这些被提取出的像素保存在数组中,以便后续分析。步骤330、判断该图像的某控件像素中某颜色值是否达到预设比例值,如果是,则选定该控件为所需控件。具体步骤如下测试系统将所述选定的窗ロ区域的图像中各像素的颜色值保存在一个数组中,遍历该数组,当该数组中的某颜色值占数组总数的比例达到预设比例值时,则确定该控件为选定控件。在实际测试中,如果测试系统需要对某个窗ロ控件进行某种操作,就需要判断在关注的窗口中,控件应该出现的区域内是否存在该控件,如果这个控件的特征为某种特殊的顔色,如图4所示,黄顔色是“同意并安装”按钮区别于其它控件的顔色,测试系统应先截取其应该出现的区域的图像,将图像中各像素的颜色值保存在一个数组中,测试系统遍历这个数组,当数组中的黄颜色值占数组总数的比例达到一定程度时,就认为在该区域中出现了 “同意并安装”控件,否则该按钮没有出现。该过程方式如下DESITYSCAN(rect, featureColor, threshold): rect =transRect(rect) #将窗ロ坐标作为屏幕坐标 colorList = grablmage(rect) #获取区域图像的颜色数组 IeatureCoiorNum = O for color m colorList:
if color equate featureColor:featureColorNum add Iif featureColorNum / len(colorList) >= threshold:exist confirmed process endselse:
not existedprocess ends该方法在本发明中称为“像素密度扫描方法”,其參数rect即测试系统选定的区域,featureColor指测试系统关注的控件的主体颜色,threshold是当主体颜色像素数占区域内所有像素数的比例为多少时可以确定控件存在的阈值。进ー步地,“像素密度扫描方法”的局限在于无法区分可以出现在相同区域内且主体顔色又相同的控件,为了解决这个问题,本发明又提出“MD5摘要判断方法”的实施方式。如图5所示“开启”按钮和“关闭”按钮出现在相同的位置上,且同样是以文字的黒色作为标识顔色,所以在同一位置上采取“像素密度扫描方法”就不能判断当前出现的是关闭按钮还是开启按钮。“MD5摘要判断方法”的步骤如下如果出现在相同区域内且主体顔色又相同的控件为多个时,即判断该图像的多个控件像素中某顔色值若达到预设比例值,则可以根据不同控件的数字摘要对控件进行识别,选定所需控件;针对上述情況,根据不同控件的数字摘要对控件进行识别,选定所需控件,具体是通过以下步骤实现测试系统得到所述选定窗口中某控件区域的像素数组后,将数组内的数据作为一个ニ进制数据串,通过对得到的数据串进行计算,得到该数据串的数字摘要,根据数字摘要对不同的控件进行识别。其中主要是通过可用控件所在区域图像的MD5摘要作为控件的标识,测试系统取得了窗口中某区域的像素数组后,将数组内的数据作为一个ニ进制数据串,用MD5摘要方法对这个数据串进行计算,可得出数据串的数字摘要,由于不同控件的图像是不同的,因此其数字摘要也是不同的,由此可将它们区分开来,选定所需控件,采取相应的操作控制。
其中控件在选定区域内图像的数字摘要可以事先被计算出来,作为控件的标识摘要,保存在测试系统的数据库中。测试系统将选定区域的图像数字摘要与控件的标识摘要进行比较,如果一致,则说明控件出现在选定的区域内。值得注意的是同一操作控制的控件可能以多种不同的外观被显示,所以控件的标识摘要不是单一的,可以是ー组摘要。进ー步地,上述“MD5摘要判断方法”的局限是当控件的位置在选定区域内发生变化时,即使控件确实出现在了选定的区域中,这个区域的图像数字摘要也无法与控件的数字摘要相匹配。对于这种情况,本发明提供了解决方法,即在ー个包含选定区域的更大的区域中查找与控件的数字摘要相同的子区域,如图6所示该方法包括所述测试系统判断如果选定的窗ロ区域的图像中控件图像的数字摘 要无法与所需控件的数字摘要相匹配,则在ー个包含所述选定窗ロ区域的更大的区域中遍历查找与所需控件的数字摘要相同的区域,如果查找到,则确定该区域中控件为所需控件。具体方法所述测试系统将原选定窗ロ区域扩大一定的范围,该扩展区域范围可以包含原选定窗ロ区域,从扩展区域左上角开始,对与原选定窗ロ区域的长宽相同的取样区域计算数字摘要,判断如果取样区域的数字摘要与所需控件的标识摘要相同,则确定所需控件存在,否则,将取样区域向左平移ー个像素,判断如果取样区域的右边界已经和扩展区域重合,则将取样区域向下平移ー个像素,直到取样区域的右下角与扩展区域的右下角相重合结束。如果在这个过程中取样区域的数字摘要与控件的数字摘要相同,则确定控件存在,否则这个过程将持续到取样区域的右下角与扩展区域的右下角相重合才能結束。该过程方式如下
MD5CHECK(rect, ctrlMd5):
expandRect = expand(rect) # 得到ネ广展区域
sampleRect = getRecti expandRect.x 丄,
expandRect.yl,
rect.X, rect.Y) #得到第一个釆样区域坐标for i in len(expandRect.X): #移动釆样区域,并计算其MD5摘要for j m len(expandRect.Y):md5 = moveRecti rect, i, jjif md5 == ctrlMd5:
existing confirmedprocess ends
not existed process ends其中,rect为原选定区域,ctrlMd5为控件的标识摘要。
“像素密度扫描法”和“MD5摘要判断法”同样可以判断出控件的状态。
当确定了控件在选定的区域中出现后,根据区域的MD5摘要来判断控件的状态。如下拉列表当前的值,复选框是否被选中等。ー个单选按钮在被选中前和被选中后的图像是不同的,如选中前的图像为〇ZIP,其 MD5 摘要为 elfb6bl310405f94cc92ce5ea2a8347d,选中后的图像为 Θ ZIP,其 MD5 摘要68c5bf356ad8a4f7508df4040acdffl8o值得注意的是在本发明中,主要是通过对对图像像素分析后,可以采用多种方法来计算图像的特征值。“像素密度扫描方法”和“ MD5摘要判断方法”只是其中的两种实现方式;当然也可以通过其他实施方式获取界面控件信息,比如计算数组HASH、边缘像素匹配或像素反转等实施方式,本发明对此不作限定。上述方式都是通过对界面图像特征的分 析和比对,最终获取界面控件信息。如图7所示,本发明还提供了一种获取界面控件信息的系统,包括选定模块701、特征获取模块702和比较模块703,其中,选定模块701,用于根据预设策略,在界面中选定ー个区域,并将该区域内的图像截取出来,其中所述选定区域与事先获得的包含待检测控件的区域一致;特征获取模块702,用于根据所述选定区域的图像的像素组合,按预设策略获取该选定区域图像的像素特征;比较模块703,用于根据所述选定区域图像的像素特征与按预设策略事先获得的包含待检测控件的区域图像的像素特征的比较结果,确定该选定区域内的界面控件的信
ο其中,所述特征获取模块702,根据欲检测的控件的颜色确定目标像素值,并计算所述目标像素值占所述选定区域图像的像素组合中的比例作为所述像素特征。所述比较模块703,用于在所述目标像素值占所述包含待检测控件的区域图像中的比例与占所述选定区域图像中的比例的差值在预设范围内时,则确定该选定区域内出现了待检测控件。在该实施方式中,本发明从另一角度对比较过程进行了描述。
所述特征获取模块702,用于对所述选定区域图像的像素组合形成的数据进行唯一性运算,获得唯一性结果作为像素特征。所述比较模块703,用于比较所述事先获得的包含待检测控件的区域图像中的像素组合的唯一性运算结果与所述选定区域图像的像素组合的唯一性运算结果的一致性,如果一致则确定该选定区域内出现了待检测控件。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种获取界面控件信息的方法,其特征在于,包括根据预设策略,在界面中选定一区域,并截取该区域的图像,其中所述选定区域与事先获得的包含待检测控件的区域一致;根据所述选定区域的图像的像素组合,按预设策略获取该选定区域图像的像素特征;根据所述选定区域图像的像素特征与按预设策略事先获得的包含待检测控件的区域图像的像素特征的比较结果,确定该选定区域内的界面控件的信息。
2.如权利要求I所述的方法,其特征在于,所述按预设策略获取该区域图像的像素特征的步骤,包括根据欲检测的控件的颜色确定目标像素值;计算所述目标像素值占所述选定区域图像的像素组合中的比例。
3.如权利要求2所述的方法,其特征在于,所述计算目标像素值占所述选定区域图像的像素组合中的比例的步骤,包括将所述选定区域图像中各像素的值保存在一个数组中,遍历该数组,计算该数组中的目标像素值占数组总数的比例。
4.如权利要求2所述的方法,其特征在干,所述根据比较结果确定该选定区域内的界面控件的信息的步骤,包括根据事先获得包含待检测控件的区域图像中的目标像素值所占比例确定比例阈值;当所述目标像素值占所述选定区域图像的像素组合中的比例达到所述阈值时,则确定该选定区域内出现了待检测控件。
5.如权利要求2所述的方法,其特征在干,进ー步包括计算所述目标像素值在所述选定区域图像中的分布特征;根据所述分布特征,确定所述待检测控件在所述选定区域中的位置。
6.如权利要求I或2所述的方法,其特征在于,所述按预设策略获取该区域图像的像素特征的步骤,包括对所述选定区域图像的像素组合形成的数据进行唯一性运算,获得唯一性結果。
7.如权利要求6所述的方法,其特征在于,所述对所述选定区域图像的像素组合形成的数据进行唯一性运算的步骤,包括将所述选定区域图像中各像素的值保存在一个数组中,将数组内的数据作为一个ニ进制数据串进行唯一性运算。
8.如权利要求6所述的方法,其特征在干,所述根据比较结果确定该选定区域内的界面控件的信息的步骤,包括根据预设策略事先获得包含待检测控件的区域图像中的像素组合形成的数据进行唯一性运算,并获得唯一性結果;当所述选定区域图像相对应的唯一性结果与所述包含待检测控件的区域图像相对应的唯一性结果一致吋,则确定该选定区域内出现了待检测控件。
9.如权利要求4或8所述的方法,其特征在干,进ー步包括根据所述事先获得的包含待检测控件的区域图像中的控件位置,确定所述选定区域图像中的控件位置。
10.如权利要求4或8所述的方法,其特征在干,进ー步包括如果确定当前选定区域内未出现待检测控件,则将当前选定区域逐行或逐列平移ー个像素后作为新的当前选定区域,再次获取该选定区域图像的像素特征。
11.如权利要求I所述的方法,其特征在于,所述根据预设策略,在界面中选定一区域,并截取该区域的图像的步骤,包括判断若待检测的控件在某区域出现的频率达到预设阈值,则根据该区域在界面中选定一区域,并截取该区域的图像。
12.如权利要求I所述的方法,其特征在于,所述确定该选定区域内的界面控件的信息的步骤,进一歩包括判断所获取的选定区域内界面控件的状态信息。
13.如权利要求12所述的方法,其特征在于,所述判断获取选定区域内界面控件的状态信息,包括复选框是否被勾选或控件是否可用的信息。
14.一种获取界面控件信息的系统,其特征在于,包括选定模块,用于根据预设策略,在界面中选定ー个区域,并将该区域内的图像截取出来,其中所述选定区域与事先获得的包含待检测控件的区域一致;特征获取模块,用于根据所述选定区域的图像的像素组合,按预设策略获取该选定区域图像的像素特征;比较模块,用于根据所述选定区域图像的像素特征与按预设策略事先获得的包含待检测控件的区域图像的像素特征的比较结果,确定该选定区域内的界面控件的信息。
15.如权利要求14所述的系统,其特征在于,所述特征获取模块,根据欲检测的控件的颜色确定目标像素值,并计算所述目标像素值占所述选定区域图像的像素组合中的比例作为所述像素特征。
16.如权利要求15所述的系统,其特征在于,所述比较模块,用于在所述目标像素值占所述包含待检测控件的区域图像中的比例与占所述选定区域图像中的比例的差值在预设范围内时,则确定该选定区域内出现了待检测控件。
17.如权利要求14或15所述的系统,其特征在于,所述特征获取模块,用于对所述选定区域图像的像素组合形成的数据进行唯一性运算,获得唯一性结果作为像素特征。
18.如权利要求17所述的系统,其特征在于,所述比较模块,用于比较所述事先获得的包含待检测控件的区域图像中的像素组合的唯一性运算结果与所述选定区域图像的像素组合的唯一性运算结果的一致性,如果一致则确定该选定区域内出现了待检测控件。
全文摘要
一种获取界面控件信息的方法及系统,包括根据预设策略,在界面中选定一区域,并截取该区域的图像,其中选定区域与事先获得的包含待检测控件的区域一致;根据选定区域的图像的像素组合,按预设策略获取该选定区域图像的像素特征;根据选定区域图像的像素特征与按预设策略事先获得的包含待检测控件的区域图像的像素特征的比较结果,确定该选定区域内的界面控件的信息。应用本发明,通过分析非标准窗口控件的图像的像素特征,并与按预设策略事先获得的包含待检测控件的区域图像的像素特征进行比较,进而可判断窗口内选定区域中是否出现了所需控件,也可获取选定区域内控件的状态信息,实现了通过统一的方法对非标准窗口控件进行自动化测试的目的。
文档编号G06F9/44GK102830958SQ201110161998
公开日2012年12月19日 申请日期2011年6月16日 优先权日2011年6月16日
发明者冯刚, 金京 申请人:奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1