基于Appium的安卓App自动化测试框架构建方法和装置制造方法及图纸

技术编号:18732218 阅读:61 留言:0更新日期:2018-08-22 02:58
本发明专利技术提供了一种基于Appium的安卓App自动化测试框架构建方法和装置。其中,该方法包括:封装App操作的公用方法,形成公用方法库,其中,公用方法包括元素获取方法,元素获取方法基于uiautomatorviewer,根据配置文件中配置的控件类型对当前安卓终端的xml布局文件进行解析和遍历,以获取待测App的页面元素并生成测试框架所需的页面元素管理类;构建Maven管理的、基于Spring+TestNG的模版工程;其中,由公用方法库和模版工程构成基于Appium的安卓App自动化测试框架。通过本发明专利技术,解决了基于Appium的自动化测试效率低的问题,提高了基于Appium的自动化测试效率。

Construction method and device of automated testing framework for Android App based on Appium

The invention provides a method and device for constructing the automated testing framework of Android App based on Appium. Among them, this method includes: encapsulating the common method of App operation to form a common method library. The common method includes element acquisition method. The element acquisition method is based on uiautomator viewer. According to the control type configured in the configuration file, the XML layout file of the current Android terminal is parsed and traversed to obtain the pending App. Build a Maven-managed template project based on Spring + TestNG, in which the Android App automation test framework based on Appium is composed of a common method library and a template project. The invention solves the problem of low automatic test efficiency based on Appium, and improves the automatic test efficiency based on Appium.

【技术实现步骤摘要】
基于Appium的安卓App自动化测试框架构建方法和装置
本专利技术涉及自动化测试领域,具体而言,涉及一种基于Appium的安卓App自动化测试框架构建方法和装置。
技术介绍
术语解释uiautomatorviewer:AndroidSDK自带的元素获取工具(可获取id、name);@componet、@Autowired:Spring的注解,用于自动扫描生成以及装配Java对象;POI:对MicrosoftOffice格式档案进行读和写的API;activity:Android系统中的四大组件之一,可以用于显示View。对于安卓App开发者而言,安卓App的各种Bug、终端测试不同于常见的Web应用:安卓App中的Bug往往隐藏得很深,甚至有时候等到用户使用才显现出来。对于测试环节来说,既需要保证足够多的测试场景,同时又需要一遍又一遍的测试每一个版本。那么就会增加更多的开发成本,而且测试者不断的做着重复的工作,效率可想而知。自动化测试正好能够解决这些问题,在众多自动化测试工具中,Appium作为一款开源自动化测试工具,可以非常快捷的为安卓平台创建功能自动化测试用例,但是Appium只是解决了执行层面的问题,在页面元素与测试数据的管理、脚本规范、用例执行等方面没有涉及,造成自动化测试元素获取工作繁琐费时、脚本编写技术难度大、测试用例稳定性低等一系列问题,导致自动化测试实施效率低下。
技术实现思路
本专利技术提供了一种基于Appium的安卓App自动化测试框架构建方法和装置,以至少解决相关技术中基于Appium的自动化测试效率低的问题。第一方面,本专利技术实施例提供了一种基于Appium的安卓App自动化测试框架构建方法,包括:封装App操作的公用方法,形成公用方法库,其中,所述公用方法包括所述元素获取方法,所述元素获取方法基于uiautomatorviewer,根据配置文件中配置的控件类型对当前安卓终端的xml布局文件进行解析和遍历,以获取待测App的页面元素并生成测试框架所需的页面元素管理类;构建Maven管理的、基于Spring+TestNG的模版工程;其中,由所述公用方法库和所述模版工程构成所述基于Appium的安卓App自动化测试框架。第二方面,本专利技术实施例提供了一种基于Appium的安卓App自动化测试框架构建装置,包括:封装模块,用于封装App操作的公用方法,形成公用方法库,其中,所述公用方法包括所述元素获取方法,所述元素获取方法基于uiautomatorviewer,根据配置文件中配置的控件类型对当前安卓终端的xml布局文件进行解析和遍历,以获取待测App的页面元素并生成测试框架所需的页面元素管理类;构建模块,用于构建Maven管理的、基于Spring+TestNG的模版工程;其中,由所述公用方法库和所述模版工程构成所述基于Appium的安卓App自动化测试框架。第三方面,本专利技术实施例提供了一种基于Appium的安卓App自动化测试框架构建设备,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现第一方面所述的方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当所述计算机程序指令被处理器执行时实现第一方面所述的方法。通过本专利技术实施例提供的基于Appium的安卓App自动化测试框架构建方法和装置,采用封装App操作的公用方法,形成公用方法库,其中,公用方法包括元素获取方法,元素获取方法基于uiautomatorviewer,根据配置文件中配置的控件类型对当前安卓终端的xml布局文件进行解析和遍历,以获取待测App的页面元素并生成测试框架所需的页面元素管理类;构建Maven管理的、基于Spring+TestNG的模版工程;其中,由公用方法库和模版工程构成基于Appium的安卓App自动化测试框架。通过本专利技术实施例,解决了基于Appium的自动化测试效率低的问题,提高了基于Appium的自动化测试效率。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的基于Appium的安卓App自动化测试框架构建方法的流程图;图2是根据本专利技术实施例的基于Appium的安卓App自动化测试框架的结构示意图;图3是根据本专利技术实施例的基于Appium的安卓App自动化测试框架的使用方法的流程图;图4是根据本专利技术实施例的元素查找方法的流程图;图5是根据本专利技术实施例的基于Appium的安卓App自动化测试框架构建装置的结构示意图;图6是根据本专利技术实施例的基于Appium的安卓App自动化测试框架构建设备的硬件结构示意图。具体实施方式下面将详细描述本专利技术的各个方面的特征和示例性实施例,为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细描述。应理解,此处所描述的具体实施例仅用于解释本专利技术,并不用于限定本专利技术。对于本领域技术人员来说,本专利技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本专利技术的示例来提供对本专利技术更好的理解。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利技术实施例针对Appium在页面元素与测试数据的管理、脚本规范、用例执行等方面没有涉及,造成自动化测试元素获取工作繁琐费时、脚本编写技术难度较大、测试用例稳定性低,导致自动化测试实施效率低下等问题,提供一种基于Appium的安卓App自动化测试框架构建方法,充分考虑移动应用需求快速变化的情况,结合Appium支持安卓平台,支持跨App测试及全部App类型测试,支持多种开发语言等特质,通过快速的元素获取方法、APP操作API、基于Maven+TestNG+Spring的模板工程,构建适用于安卓应用的自动化测试框架,利用本专利技术构建的安卓应用自动化测试,能有效提高自动化测试实施的效率。在本实施例中提供了一种基于Appium的安卓App自动化测试框架构建方法,图1是根据本专利技术实施例的基于Appium的安卓App自动化测试框架构建方法的流程图,如图1所示,该流程包括如下步骤:步骤S101,封装App操作的公用方法,形成公用方法库,其中,公用方法包括元素获取方法,元素获取方法基于uiautomatorviewer,根据配置文件中配置的控件类型对当前安卓终端的xml布局文件进行解析和遍历,以获取待测App的页面元素并生成测试框架所需的页面元素管理类;步骤S102,构建Maven管理的、基于Spr本文档来自技高网...

【技术保护点】
1.一种基于Appium的安卓App自动化测试框架构建方法,其特征在于,包括:封装App操作的公用方法,形成公用方法库,其中,所述公用方法包括所述元素获取方法,所述元素获取方法基于uiautomatorviewer,根据配置文件中配置的控件类型对当前安卓终端的xml布局文件进行解析和遍历,以获取待测App的页面元素并生成测试框架所需的页面元素管理类;构建Maven管理的、基于Spring+TestNG的模版工程;其中,由所述公用方法库和所述模版工程构成所述基于Appium的安卓App自动化测试框架。

【技术特征摘要】
1.一种基于Appium的安卓App自动化测试框架构建方法,其特征在于,包括:封装App操作的公用方法,形成公用方法库,其中,所述公用方法包括所述元素获取方法,所述元素获取方法基于uiautomatorviewer,根据配置文件中配置的控件类型对当前安卓终端的xml布局文件进行解析和遍历,以获取待测App的页面元素并生成测试框架所需的页面元素管理类;构建Maven管理的、基于Spring+TestNG的模版工程;其中,由所述公用方法库和所述模版工程构成所述基于Appium的安卓App自动化测试框架。2.根据权利要求1所述的方法,其特征在于,所述公用方法还包括:安卓基本控件的使用、安卓终端的基本操作。3.根据权利要求1所述的方法,其特征在于,所述公用方法还包括以下至少之一:元素查找与识别、用例失败自动重试及截屏。4.根据权利要求1所述的方法,其特征在于,所述模版工程使用Spring注入机制和预设数据驱动;其中,所述Spring注入机制是指:所有的类通过@componet注解的方式以便Spring扫描生成对象,用例执行层的基类中通过@Autowired注解声明注入元素的管理类,用例执行脚本类中通过@Autowired注解声明注入的业务逻辑类,以便调用;其中,所述预设数据驱动是指:测试数据统一存放在excel表中,利用POI构建数据驱动,不同的测试用例按sheet存放。5.一种基于Appium的安卓App自动化测试框架构建装置,其特征在于,包括:封装模块,用于封装App操作的公用方法,形成公用方法库,其中,所述公用方法包括所述元素获取方法,所述元素获取方法基于ui...

【专利技术属性】
技术研发人员:程立陈梦星邓浩然杨冬森
申请(专利权)人:中国民航信息网络股份有限公司
类型:发明
国别省市:北京,11

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

1