本发明为移动自动化测试人员提供新的移动应用的对象管理方法,能够快速而高效的管理移动应用的测试对象,以此来优化移动自动化测试脚本的管理。
背景技术:
随着移动应用新业务的不断增加和原有业务应用的持续更新,移动应用测试的复杂程度、测试周期和测试成本越来越高。为此,许多企业纷纷采用移动自动化测试的手段,以期提高测试效率,降低测试成本。
目前,移动自动化测试使用较多的方案是Robot FrameWork-ride+Appium的模式,Robot FrameWork-ride主要负责自动化测试脚本的管理和编辑,Appium负责连通PC机和手机,并在手机端执行测试脚本。Robot FrameWork-ride:是一个轻量级的,直观的Robot FrameWork测试脚本编辑器。Appium:是一个用于原生、混合和移动Web应用程序测试的开源框架。它使用WebDriver协议驱动IOS和Android应用程序。
Robot FrameWork-ride是一种基于Python的可扩展关键字驱动的测试框架,通常用于端到端的可接收测试和及其驱动的开发,可以用于测试涉及到多种技术和接口的分布式的、异构的应用系统。关键字驱动测试:把测试脚本的编程工作分离出去,让没有编程技巧的人也能开发自动化测试脚本。关键字驱动测试方法把测试脚本的创建分成两个阶段:计划阶段和实现阶段。Robot FrameWork-ride通过树形结构层次对自动化测试脚本进行管理,并且测试对象全都放在自动化测试脚本中,没有将测试对象单独管理,因此在移动应用的页面对象发生变化时,需花费大量时间修改自动化测试脚本,导致维护工作量较大,维护成本较高。
技术实现要素:
针对移动自动化测试中遇到的问题,本发明的目的是提供一种基于对象分离管理的移动自动化测试方法,该方法基于对象和自动化测试脚本分离及对象集中管理的理念,将移动应用的测试对象从自动化测试脚本中分离,同时考虑到程序中存在多个测试脚本引用同一个对象的情况,将测试对象汇总在对象管理库中进行集中管理,以对象驱动的方式执行自动化测试。
本发明的目的通过以下技术方案实现:
一种基于对象分离管理的移动自动化测试方法,其特征在于:该方法基于对象和自动化测试脚本分离及对象集中管理的理念,将移动应用的测试对象从自动化测试脚本中分离,同时考虑到程序中存在多个测试脚本引用同一个对象的情况,将测试对象汇总在对象管理库中进行集中管理,以对象驱动的方式执行自动化测试;具体如下:
1)分离对象库,获取属性值类;
2)分离对象库的自动化测试脚本执行过程的具体步骤如下:
Step1:选择测试用例集;
Step2:执行测试用例集中的自动化测试脚本;
Step3:执行自动化测试脚本中的业务关键字;
Step4:定位业务关键字中的操作对象;
Step5:调用DLXX_GETOBJ_VALUE类中的方法查询对象属性值;
Step6:根据操作对象的指定属性,调用相应的获取属性值的方法去对象库中查询属性值;
Step7:返回查询到的对象属性值;
Step8:根据返回的对象属性值,定位到页面中的对象,执行业务关键字;
Step9:操作手机端的页面;
Step10:重复step2,直至完成所选测试用例集中的自动化测试脚本。
本发明步骤1)中,获取属性值类DLXX_GETOBJ_VALUE方法的功能如下:
GET_ID_VALUE:获取对象ID的值;
GET_Name_VALUE:获取对象Name的值;
GET_Xpath_VALUE:获取对象Xpath的值。
通过本发明,测试人员可快速和高效的管理移动测试对象,大幅降低移动自动化测试脚本的维护成本。
附图说明
图1 展示了分离对象库的对象管理层次结构;
图2展示了执行移动自动化测试脚本的过程。
具体实施方式
一种基于对象分离管理的移动自动化测试方法,该方法基于对象和自动化测试脚本分离及对象集中管理的理念,将移动应用的测试对象从自动化测试脚本中分离,同时考虑到程序中存在多个测试脚本引用同一个对象的情况,将测试对象汇总在对象管理库中进行集中管理,以对象驱动的方式执行自动化测试。
分离对象库的实现采用了1个类,获取属性值类(本实施例中使用类DLXX_GETOBJ_VALUE定义, 但不限于此名称)。图1 展示了分离对象库的对象管理层次结构。
获取属性值类DLXX_GETOBJ_VALUE主要方法的功能如下:
GET_ID_VALUE:获取对象ID的值;
GET_Name_VALUE:获取对象Name的值;
GET_Xpath_VALUE:获取对象Xpath的值;
如图2所示,分离对象库的自动化测试脚本执行过程的具体步骤如下:
Step1:选择测试用例集。
Step2:执行测试用例集中的自动化测试脚本。
Step3:执行自动化测试脚本中的业务关键字。
Step4:定位业务关键字中的操作对象。
Step5:调用DLXX_GETOBJ_VALUE类中的方法查询对象属性值;
Step6:根据操作对象的指定属性,调用相应的获取属性值的方法(GET_ID_VALUE/GET_Name_VALUE/ GET_Xpath_VALUE)去对象库中查询属性值;
Step7:返回查询到的对象属性值;
Step8:根据返回的对象属性值,定位到页面中的对象,执行业务关键字。
Step9:操作手机端的页面。
Step10:重复step2,直至完成所选测试用例集中的自动化测试脚本。
通过该方法,测试人员可快速和高效的管理移动测试对象,大幅降低移动自动化测试脚本的维护成本。