本发明涉及自动化测试技术领域,尤其涉及一种UI界面测试方法及装置。
背景技术:
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
WPF为Windows Presentation Foundation的首字母缩写,中文译为“Windows呈现基础”。由.NET Framework 3.0开始引入,与Windows Communication Foundation及Windows Workflow Foundation并行为新一代Windows操作系统以及WinFX的三个重大应用程序开发类库。
目前常用的自动化测试工具如QTP10.0、LoadRunner11.0等均需要收费,且在对基于WPF框架的软件的进行UI界面测试时,一般采用简单的录制和回放方式实现自动化,准确性较低;若要实现精准识别和操作控件,则需要额外下载和安装补丁,调试比较麻烦。
因此,上述提及的用简单的录制和回放方式实现自动化,导致的准确性低的技术问题,以及若要实现精准识别和操作控件,则需要额外下载和安装补丁,导致的调试比较麻烦的技术问题,成为了本领域技术人员亟待解决的技术问题。
技术实现要素:
本发明实施例提供的一种UI界面测试方法及装置,解决了目前的用简单的录制和回放方式实现自动化,导致的准确性低的技术问题,以及若要实现精准识别和操作控件,则需要额外下载和安装补丁,导致的调试比较麻烦的技术问题。
本发明实施例提供的一种UI界面测试方法,包括:
通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集;
根据所述测试脚本集中的参数建立对应的参数文件集;
编写关联脚本,并将所述测试脚本集的测试脚本与所述参数文件集进行关联;
根据预置的测试逻辑和预先确定的控件对象结合所述测试脚本与所述参数文件集进行UI界面测试。
优选地,通过调用已导入的预置类库,对所述UI控件及对应的所述属性值建立测试脚本集之前还包括:
获取测试软件界面的UI控件,并获取对应的属性值,建立控件对象集。
优选地,通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集具体包括:
通过调用已导入的预置类库,对控件对象集的多个控件对象及所述属性集,编写对应的所述测试脚本,建立所述测试脚本集。
优选地,根据预置的测试逻辑和预先确定的控件对象结合所述测试脚本与所述参数文件集进行UI界面测试具体包括:
编写测试操作界面,所述测试操作界面包括待操作的控件对象;
根据预置的测试逻辑和在所述测试操作界面中依次确定的控件对象,并结合所述测试脚本与所述参数文件集进行UI界面测试。
优选地,获取测试软件界面的UI控件,并获取对应的属性值,建立控件对象集具体包括:
通过UISpy工具抓取待测试软件界面的所述UI控件,并获取对应的属性值,建立控件对象集。
本发明实施例提供的一种UI界面测试装置,包括:
第一建立单元,用于通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集;
第二建立单元,用于根据所述测试脚本集中的参数建立对应的参数文件集;
关联单元,用于编写关联脚本,并将所述测试脚本集的测试脚本与所述参数文件集进行关联;
测试单元,用于根据预置的测试逻辑和预先确定的控件对象结合所述测试脚本与所述参数文件集进行UI界面测试。
优选地,UI界面测试装置还包括:
第三建立单元,用于获取测试软件界面的UI控件,并获取对应的属性值,建立控件对象集。
优选地,第一建立单元,具体用于通过调用已导入的预置类库,对控件对象集的多个控件对象及所述属性集,编写对应的所述测试脚本,建立所述测试脚本集。
优选地,测试单元具体包括:
编写子单元,用于编写测试操作界面,所述测试操作界面包括待操作的控件对象;
测试子单元,用于根据预置的测试逻辑和在所述测试操作界面中依次确定的控件对象,并结合所述测试脚本与所述参数文件集进行UI界面测试。
优选地,第三建立单元,具体用于通过UISpy工具抓取待测试软件界面的所述UI控件,并获取对应的属性值,建立控件对象集。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提供的一种UI界面测试方法及装置,其中,UI界面测试方法包括:通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集;根据测试脚本集中的参数建立对应的参数文件集;编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联;根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试。本实施例中,通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集,根据测试脚本集中的参数建立对应的参数文件集,编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联,根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试,解决了目前的用简单的录制和回放方式实现自动化,导致的准确性低的技术问题,以及若要实现精准识别和操作控件,则需要额外下载和安装补丁,导致的调试比较麻烦的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中提供的一种UI界面测试方法的一个实施例流程示意图;
图2为本发明实施例中提供的一种UI界面测试方法的另一个实施例流程示意图;
图3为本发明实施例中提供的一种UI界面测试装置的一个实施例结构示意图;
图4为本发明实施例中提供的一种UI界面测试装置的另一个实施例结构示意图;
图5为UISpy工具抓取SuperMediaEditor“保存”按钮并获取其属性值的示意图;
图6为使用white工具编写的通过点击SuperMediaEditor“保存”按钮完成演示文稿保存操作的测试脚本的示意图;
图7为测试脚本对应的参数文本示意图;
图8是本测试方法的实施流程示意图.
具体实施方式
本发明实施例提供的一种UI界面测试方法及装置,解决了目前的用简单的录制和回放方式实现自动化,导致的准确性低的技术问题,以及若要实现精准识别和操作控件,则需要额外下载和安装补丁,导致的调试比较麻烦的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中提供的一种UI界面测试方法的一个实施例包括:
101、通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集;
本实施例中,需要UI界面测试时,首先需要通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集。
102、根据测试脚本集中的参数建立对应的参数文件集;
当通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集之后,需要根据测试脚本集中的参数建立对应的参数文件集。
103、编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联;
当根据测试脚本集中的参数建立对应的参数文件集之后,需要编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联。
104、根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试。
当编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联之后,需要根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试。
本实施例中,通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集,根据测试脚本集中的参数建立对应的参数文件集,编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联,根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试,解决了目前的用简单的录制和回放方式实现自动化,导致的准确性低的技术问题,以及若要实现精准识别和操作控件,则需要额外下载和安装补丁,导致的调试比较麻烦的技术问题。
上面是对UI界面测试方法的过程进行的描述,下面将对具体的过程进行详细的描述,请参阅图2,本发明实施例中提供的一种UI界面测试方法的另一个实施例包括:
201、获取测试软件界面的UI控件,并获取对应的属性值,建立控件对象集;
本实施例中,需要UI界面测试时,首先需要获取测试软件界面的UI控件,并获取对应的属性值,建立控件对象集。
具体地,通过UISpy工具抓取待测试软件界面的UI控件,并获取对应的属性值,建立控件对象集。
202、通过调用已导入的预置类库,对控件对象集的多个控件对象及属性集,编写对应的测试脚本,建立测试脚本集;
当获取测试软件界面的UI控件,并获取对应的属性值,建立控件对象集之后,需要通过调用已导入的预置类库,对控件对象集的多个控件对象及属性集,编写对应的测试脚本,建立测试脚本集。
203、根据测试脚本集中的参数建立对应的参数文件集;
当通过调用已导入的预置类库,对控件对象集的多个控件对象及属性集,编写对应的测试脚本,建立测试脚本集之后,需要根据测试脚本集中的参数建立对应的参数文件集。
204、编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联;
当根据测试脚本集中的参数建立对应的参数文件集之后,需要编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联。
205、编写测试操作界面,测试操作界面包括待操作的控件对象;
当编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联之后,需要编写测试操作界面,测试操作界面包括待操作的控件对象。
206、根据预置的测试逻辑和在测试操作界面中依次确定的控件对象,并结合测试脚本与参数文件集进行UI界面测试。
当编写测试操作界面,测试操作界面包括待操作的控件对象之后,需要根据预置的测试逻辑和在测试操作界面中依次确定的控件对象,并结合测试脚本与参数文件集进行UI界面测试。
下面以一具体应用场景进行详细的描述,如图5至图8,应用例包括:
第1步:下载white类库并将其导入到Visual Studio2010开发工具中并配置,搭建测试开发环境;
第2步:使用UISpy工具,抓取被测试软件界面上的UI控件并获取属性值,比如AutomationId和Name属性,建立控件对象集;
第3步:调用white类库中的方法,针对不同的UI控件对象及获取到的属性值,编写相应的测试脚本,建立测试脚本集;
第4步:根据不同测试脚本所需的参数,编写相应的参数文件,建立参数文件集;
第5步:编写关联脚本,将测试脚本和参数文件集关联起来,使测试脚本能够自动读取对应参数文件中的参数,从而完成特定的动作,比如按钮点击;
第6步:编写友好的测试操作界面,可供自由地选择要操作的控件对象、实现操作对应的测试脚本和相关的参数文件;
第7步:按照预定的测试逻辑,在测试操作界面中依次选择要操作的控件对象、实现操作相应的测试脚本和相关参数文件,然后启动测试,从而完成软件UI界面的自动化测试。
本实施例中,通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集,根据测试脚本集中的参数建立对应的参数文件集,编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联,根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试,解决了目前的用简单的录制和回放方式实现自动化,导致的准确性低的技术问题,以及若要实现精准识别和操作控件,则需要额外下载和安装补丁,导致的调试比较麻烦的技术问题。
请参阅图3,本发明实施例中提供的一种UI界面测试装置的一个实施例包括:
第一建立单元301,用于通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集;
第二建立单元302,用于根据测试脚本集中的参数建立对应的参数文件集;
关联单元303,用于编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联;
测试单元304,用于根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试。
本实施例中,通过第一建立单元301调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集,第二建立单元302根据测试脚本集中的参数建立对应的参数文件集,关联单元303编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联,测试单元304根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试,解决了目前的用简单的录制和回放方式实现自动化,导致的准确性低的技术问题,以及若要实现精准识别和操作控件,则需要额外下载和安装补丁,导致的调试比较麻烦的技术问题。
上面是对UI界面测试装置的各单元进行的描述,下面将对附加单元和子单元进行描述,请参阅图4,本发明实施例中提供的一种UI界面测试装置的另一个实施例包括:
第三建立单元401,用于获取测试软件界面的UI控件,并获取对应的属性值,建立控件对象集,第三建立单元401,具体用于通过UISpy工具抓取待测试软件界面的UI控件,并获取对应的属性值,建立控件对象集。
第一建立单元402,用于通过调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集,第一建立单元402,具体用于通过调用已导入的预置类库,对控件对象集的多个控件对象及属性集,编写对应的测试脚本,建立测试脚本集。
第二建立单元403,用于根据测试脚本集中的参数建立对应的参数文件集;
关联单元404,用于编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联;
测试单元405,用于根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试。
测试单元405具体包括:
编写子单元4051,用于编写测试操作界面,测试操作界面包括待操作的控件对象;
测试子单元4052,用于根据预置的测试逻辑和在测试操作界面中依次确定的控件对象,并结合测试脚本与参数文件集进行UI界面测试。
本实施例中,通过第一建立单元402调用已导入的预置类库,对预置UI控件及对应的属性值建立测试脚本集,第二建立单元403根据测试脚本集中的参数建立对应的参数文件集,关联单元404编写关联脚本,并将测试脚本集的测试脚本与参数文件集进行关联,测试单元405根据预置的测试逻辑和预先确定的控件对象结合测试脚本与参数文件集进行UI界面测试,解决了目前的用简单的录制和回放方式实现自动化,导致的准确性低的技术问题,以及若要实现精准识别和操作控件,则需要额外下载和安装补丁,导致的调试比较麻烦的技术问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。