一种UI自动化测试方法和系统技术方案

技术编号:11764765 阅读:61 留言:0更新日期:2015-07-23 15:32
本发明专利技术提供了一种UI自动化测试方法和系统,测试用例与测试代码分别存储于不同的文件,并由测试用例驱动测试代码的运行;所述测试代码在运行过程中调用图片定位工具提供的API进行控件定位。在本发明专利技术中控件定位不再依赖控件属性,而是采用图片匹配定位的方式,从而提高了测试效率,同时测试用例与测试代码分离,无需采用额外的代码进行测试用例的解析,进一步提高了测试效率,并且后期对测试用例的删减、修改或统计只需要在测试用例的文件中进行,不必重新编写测试代码,方便进行管理和维护。

【技术实现步骤摘要】
【专利说明】
本专利技术涉及计算机测试
,特别涉及一种Π (用户界面)自动化测试方法和系统。【
技术介绍
】目前越来越多的公司或企业在平时的质量保证工作中引入Π自动化来代替人工测试,以提高效率降低人力成本,但是Π自动化测试框架不管是通过人工写代码还是通过录制脚本的方式,都是基于页面上控件的定位,而控件定位的过程是相当耗时的,目前采用的定位方式都是基于控件属性的,这就会造成有些控件属性是随机变化或者不存在的,那么定位就更加耗时,并且给UI自动化测试框架带来不稳定性。另外,现有的UI自动化测试框架基于ruby (—种面向对象程序设计的脚本语言),测试代码与测试用例写在同一个文件中,需要额外的代码对测试用例进行解析,编辑起来也很麻烦。【
技术实现思路
】有鉴于此,本专利技术提供了一种UI自动化测试方法和系统,以便于提高测试效率,同时实现实例的更有效组织。具体技术方案如下:本专利技术提供了一种用户界面Π自动化测试方法,该方法包括:测试用例与测试代码分别存储于不同的文件,并由测试用例驱动测试代码的运行;所述测试代码在运行过程中调用图片定位工具提供的应用程序编程接口 API来进行控件定位。根据本专利技术一优选实施方式,在Π自动化测试框架中集成testNG插件或者在testNG基础上的二次封装工具插件以实现所述测试用例与测试代码分别存储于不同的文件,并由测试用例驱动测试代码的运行;所述在testNG基础上的二次封装工具包括JSpec、jtester或者Qtester。根据本专利技术一优选实施方式,所述由测试用例驱动测试代码的运行包括:各测试用例驱动编辑器中各测试用例对应的测试代码进行调试运行。根据本专利技术一优选实施方式,该方法还包括:将调试通过的测试代码提交到持续集成服务器,由持续集成服务器将测试代码发送到能够运行该测试代码的自动化执行机器上运行。根据本专利技术一优选实施方式,所述测试代码在运行过程中调用图片定位工具提供的API来进行控件定位包括:所述测试代码在运行过程中,如果进行某控件的定位,则从预设目录下获取该控件的截图并调用图片定位工具提供的API,获取图片定位工具利用该控件的截图在被测对象上进行匹配后得到的控件定位结果。本专利技术还提供了一种Π自动化测试系统,该系统包括:用例组织单元,用于将测试用例与测试代码分别存储于不同的文件;代码运行单元,用于在所述测试用例的驱动下运行测试代码,所述测试代码在运行过程中调用图片定位工具提供的API来进行控件定位。根据本专利技术一优选实施方式,所述用例组织单元采用在UI自动化测试框架中集成testNG插件或者在testNG基础上的二次封装工具插件以实现所述测试用例与测试代码分别存储于不同的文件;所述在testNG基础上的二次封装工具包括JSpec、jtester或者Qtester。根据本专利技术一优选实施方式,所述代码运行单元具体包括:代码调试子单元,用于在各测试用例的驱动下,在编辑器中对各测试用例对应的测试代码进行调试运行。根据本专利技术一优选实施方式,所述代码运行单元还包括代码提交子单元,该系统还包括持续集成服务器和自动化执行机器;所述代码提交子单元,用于将调试通过的测试代码提交到所述持续集成服务器;所述持续集成服务器,用于将测试代码发送到能够运行该测试代码的自动化执行机器;所述自动化执行机器,用于运行接收到的测试代码。根据本专利技术一优选实施方式,所述测试代码在运行过程中,如果进行某控件的定位,则从预设目录下获取该控件的截图并调用图片定位工具提供的API,获取图片定位工具利用该控件的截图在被测对象上进行匹配后得到的控件定位结果。由以上技术方案可以看出,在本专利技术中控件定位不再依赖控件属性,而是采用图片匹配定位的方式,从而提高了测试效率,同时测试用例与测试代码分离,无需采用额外的代码进行测试用例的解析,进一步提高了测试效率,并且后期对测试用例的删减、修改或统计只需要在测试用例的文件中进行,不必重新编写测试代码,方便进行管理和维护。【【附图说明】】图1为本专利技术实施例一提供的UI自动化测试方法流程图;图2为本专利技术实施例一对应的系统架构示意图;图3为本专利技术实施例一提供的自动化测试的基本代码结构;图4为本专利技术实施例二提供的UI自动化测试系统的结构图。【【具体实施方式】】为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。本专利技术的核心思想在于:在组织测试用例时,采用测试用例与测试代码分离的方式,将测试用例与测试代码分别存储于不同的文件,在测试代码中调用采用图片匹配定位工具的API (应用程序编程接口)来进行控件定位。下面通过实施例一对本专利技术提供的Π自动化测试方法进行详细描述。实施例一、图1为本专利技术实施例一提供的Π自动化测试方法流程图,该流程图对应的系统架构如图2中所示。如图1中所示,该方法具体包括:步骤101:通过在JSpec中编写的测试用例驱动编辑器中测试代码的运行。在本专利技术中要实现测试用例与测试代码分别存储于不同的文件,并由测试用例驱动测试代码的运行,需要将testNG或者在testNG基础上的二次封装工具引入Π自动化测试,即在Π自动化测试框架中集成testNG插件或者在testNG基础上的二次封装工具插件。testNG (Testing Next Gernerat1n,下一代测试技术)是一种开源工具,根据JUnit和Nunit思想而构建的利用注释来强化测试功能的测试框架。上述在testNG基础上的二次封装工具可以包括但不限于JSpec、jtester或者Qtester。在本专利技术实施例中在Π自动化测试框架中集成JSpec插件,采用JSpec所提供的story的方式来组织测试用例。在以往的技术中,JSpec通常用于单元测试,在本专利技术实施例中将单元测试的框架引入Π自动化测试框架,在此Π自动化测试框架可以采用Eclipse(Eclipse是一个开放源代码的、基于Java的可扩展开发平台,用于通过插件组件构建开发环境)。举一个例子来说明利用JSpec提供的Story方式来组织测试用例的方式,假设需要在百度搜索框中分别输入“mp3”、“mp4”、“mp5”关键字进行查询测试,那么利用JSpec组织测试用例的格式如下:O Story功能描述:测试百度搜索作者:***修改时间:2013-12-13测试用例集合: input:mp3 input: mp4 input: mp5O Scenar1 easel:1nput:mp3〇 Given init test data〇When testJSpec[ input= “mp3”】〇 Then check result〇 Then delete test dataO Scenar1 case2:1nput:mp4〇 Given init test data〇When testJSpec[input= “mp4”】〇 Then check result〇 Then delete test dataO Scenar1 case3:1nput:mp5O Given init test dataO When testJSpec【input=“mp5”】〇Then check result〇Then delete test data上述本文档来自技高网...

【技术保护点】
一种用户界面UI自动化测试方法,其特征在于,该方法包括:测试用例与测试代码分别存储于不同的文件,并由测试用例驱动测试代码的运行;所述测试代码在运行过程中调用图片定位工具提供的应用程序编程接口API来进行控件定位。

【技术特征摘要】

【专利技术属性】
技术研发人员:江进朋
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1