一种测试控件的方法和装置与流程

文档序号:12039800阅读:138来源:国知局
一种测试控件的方法和装置与流程
本发明涉及一种测试控件的方法和装置。

背景技术:
软件的自动化测试中最为重要的一个环节是对象库的维护,也是决定测试自动化实现成本的最重要的方面之一。目前传统的对象库是基于控件树对象库的模型,对象库中保存了每个控件所在的对象树,由于控件的巨大数量,必然造成一个对象库中会出现非常多的对象树。在这种情况下,只要有一个对象例如由于软件的界面或逻辑的修改而导致对象的变化,包含该对象的所有对象树都必须随之修改,从而导致对象库的维护工作量相当庞大。

技术实现要素:
有鉴于此,本发明提供一种测试控件的方法和装置,能够减小软件的自动化测试所用的对象库的维护工作量。为实现上述目的,根据本发明的一个方面,提供了一种测试控件的方法。本发明的测试控件的方法包括:在对象库中保存一条或多条控件查找方式信息,所述控件查找方式信息中包含按照控件在软件的人机界面上的位置属性查找控件的查找方式;其中所述位置属性包括查找的起始位置和查找方向,所述查找方向包括上、下、左、右;接收查找关键字,根据该关键字和该关键字适用的所述查找方式,在预先确定的控件查找范围中查找出一个或多个控件,再输出查找出的控件以供对该控件进行测试。可选地,所述对象库中还保存有包含按照控件的文字说明查找控件的查找方式的控件查找方式信息。可选地,所述控件查找范围是当前被测软件的主干进程中的对象集合中的控件;或者,所述控件查找范围是当前被测软件的指定对象的进程中的对象集合中的控件。可选地,所述查找方式包括按照与所述人机界面中的预选元素之间的相对位置来查找控件的方式。根据本发明的另一方面,提供了一种测试控件的装置。本发明的测试控件的装置包括:对象库模块,用于保存一条或多条控件查找方式信息,所述控件查找方式信息中包含按照控件在软件的人机界面上的位置属性查找控件的查找方式;其中所述位置属性包括查找的起始位置和查找方向,所述查找方向包括上、下、左、右;接收模块,用于接收查找关键字;查找模块,用于根据该关键字和该关键字适用的所述查找方式,在预先确定的控件查找范围中查找出一个或多个控件;输出模块,用于输出查找出的控件以供测试。可选地,所述对象库模块还用于保存包含按照控件的文字说明查找控件的查找方式的控件查找方式信息。可选地,所述控件查找范围是当前被测软件的主干进程中的对象集合中的控件;或者,所述控件查找范围是当前被测软件的指定对象的进程中的对象集合中的控件。可选地,所述查找方式包括按照与所述人机界面中的预选元素之间的相对位置来查找控件的方式。根据本发明的技术方案,主要根据控件在人机界面上的位置来识别、查找控件,无需依赖对象树路径来识别控件,使对象库的结构得到了大幅简化,从而显著减小了软件自动化测试所用的对象库的维护工作量。另外基于在人机界面的位置来识别控件,还有助于发现软件的人机界面中存在的控件位置方面的缺陷。附图说明附图用于更好地理解本发明,不构成对本发明的不当限定。其中:图1是根据本发明实施例的测试控件的方法的主要步骤的示意图;图2是根本发明实施例的测试控件的装置的基本结构的示意图。具体实施方式以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在本实施例中,预先在对象库中保存一条或多条控件查找方式信息,这里的控件查找方式信息中包含按照控件在软件的人机界面上的位置属性查找控件的查找方式;然后接收查找关键字,根据该关键字和该关键字适用的查找方式,在预先确定的控件查找范围中查找出一个或多个控件,再对查找出的控件进行测试。以下对本实施例的技术方案作详细说明。本实施例中的控件查找主要是基于控件在软件界面上的位置。控件查找范围预先确定,例如可以是当前被测软件的主干进程中的对象集合中的控件;也可以是当前被测软件的指定对象的进程中的对象集合中的控件。按照进程查找是为了减少对象动态查找的路径数。查找控件时要遍历查找范围中的每个控件,查找范围的大小可按预先设定的对象树层级数来指定,即设置一个查找深度。因为是按照控件在人机界面上的位置属性来查找,所以在查找时主要获取各个控件的位置属性值并判断。根据查找策略和控件类型,可以有灵活多样的控件查找方式。以下举例加以说明。一种控件查找方式是“方位+控件类型”。方位可分为四种:上、下、左、右。此时需要的查找关键字主要有查找的起始位置、查找方向、控件类型。例如,查找起始位置是人机界面的下边缘、查找方向是向上、控件类型是输入框,则表示从人机界面下边缘开始向上查找类型为输入框的控件。可以看出有可能查找到一个或多个输入框,也有可能没有查找到输入框。在查找到输入框的情况下,可以输出第一个查找到的输入框并对该输入框进行测试,然后以该输入框的位置作为查找起始位置继续查找,即查找起始位置也可以设定为上次查找到第一个控件时到达的位置。需要说明的是,以上的查找并不是直接在人机界面本身上进行,而是在上述的控件查找范围中进行,具体是获取各个控件的位置属性。由于人机界面在不同的显示装置或者不同的窗体状态下,实际的尺寸以及其中各个控件的显示距离都会发生改变,所以在软件界面设计时控件的位置属性都是以相对位置来描述。在获取到控件的位置属性后,根据查找关键字确定获取的控件的位置属性是否符合查找要求。例如查找起始位置是上次查找到控件的位置,方向是向上,控件类型是输入框,则在查找控件时,一方面要判断当前遍历到的控件类型是否为输入框,另一方面还要判断控件的位置是否在上次查找到控件的位置之上,只有两方面条件都符合,才认为当前遍历到的控件是要查找的控件。第二种控件查找方式是“文字说明+方位+控件类型”。因为有的控件包含文字说明的属性,例如按钮,其上一般有文字,如“确定”、“下一步”、“提交”等。按照这种查找方式,在判断遍历到的控件是否为要查找的控件时,必须是文字说明、方位、控件类型三方面都符合查找关键字才可确认是要查找的控件。可以在人机界面上指定一个元素作为参照物,按照与该参照物的相对位置(上、下、左、右等)来查找控件。参照物同样可以灵活指定,例如一段文本、一个图片、或者一个控件等。这样,第三种控件查找方式可以是“参照物标识+方位+控件类型”;第四种控件查找方式可以是“参照物标识+方位+控件类型”。此外,对象库中还可保存包含按照控件的文字标识查找控件的查找方式的控件查找方式信息。也就是说,控件查找方式也可以是“文字说明+控件类型”的方式。查找方式与前述类似。执行本实施例的测试控件的方法时,可以采用图1所示的步骤进行。图1是根据本发明实施例的测试控件的方法的主要步骤的示意图。步骤S11:确定控件查找范围。步骤S12:接收控件查找关键字。步骤S13:根据控件查找关键字和对象库中的控件查找方式信息,在控件查找范围中查找控件。步骤S14:判断查找到的控件的数量。若为0,返回步骤S12,根据其他控件查找关键字进行查找;若为1,进入步骤S15;若大于1,进入步骤S16。如果在测试前已知应当能够查找到至少一个控件,但根据本步骤的判断确认没有控件,则可以确认软件出现错误,可以启动后续的错误处理程序。而现有的根据对象树识别控件的方式,无法发现控件在人机界面上的位置方面可能存在的缺陷。步骤S15:输出查找到的控件。本步骤之后进入步骤S18。步骤S16:输出一个查找到的控件。本步骤之后进入步骤S18。步骤S17:判断查找到的控件是否全部输出。若是,返回步骤S12,否则返回步骤S16。步骤S18:对输出的控件进行测试。通过执行以上流程,步骤S11中确定的控件查找范围内的指定类型以及位置的控件能够被查找出并接受测试。所用的对象库中的内容仅是控件查找方式信息,相比于海量的控件所在的大量的对象树,本实施例中的对象库结构得到了大幅简化,维护工作量也随之显著减小。图2是根本发明实施例的测试控件的装置的基本结构的示意图。如图2所示,测试控件的装置20主要包括对象库模块21、接收模块22、查找模块23、以及输出模块24。对象库模块21用于保存一条或多条控件查找方式信息,所述控件查找方式信息中包含按照控件在软件的人机界面上的位置属性查找控件的查找方式;接收模块22用于接收查找关键字;查找模块23用于根据该关键字和该关键字适用的所述查找方式,在预先确定的控件查找范围中查找出一个或多个控件;输出模块24用于输出查找出的控件以供测试。对象库模块21还可用于保存包含按照控件的文字说明查找控件的查找方式的控件查找方式信息。根据本发明实施例的技术方案,主要根据控件在人机界面上的位置来识别、查找控件,无需依赖对象树路径来识别控件,使对象库的结构得到了大幅简化,从而显著减小了软件自动化测试所用的对象库的维护工作量。另外基于在人机界面的位置来识别控件,还有助于发现软件的人机界面中存在的控件位置方面的缺陷。以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来开发出的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1