一种跨移动端自动化测试框架系统技术方案

技术编号:16755436 阅读:76 留言:0更新日期:2017-12-09 02:01
本发明专利技术的目的是针对现有技术中的不足,提供一种跨移动端自动化测试框架系统,只需要一套代码就可以在Android与IOS端进行自动化测试。公司硬件资源与人力不足时,当前框架不需要区分开发平台,所以开发周期与维护成本会大大降低。

A framework system for automated testing across mobile terminals

The purpose of the invention is to provide an automated testing framework for cross mobile terminals, which only needs a set of codes to carry out automated testing on Android and IOS terminals. When the company's hardware resources and manpower are insufficient, the current framework does not need to distinguish the development platform, so the development cycle and maintenance cost will be greatly reduced.

【技术实现步骤摘要】
一种跨移动端自动化测试框架系统
本专利技术涉及计算机领域,具体涉及一种跨移动端自动化测试框架系统。
技术介绍
现有框架Android与IOS自动化必须分开实现,人力与硬件投入成本高,且维护难度大。
技术实现思路
本专利技术的目的是针对现有技术中的不足,提供一种跨移动端自动化测试框架系统,只需要一套代码就可以在Android与IOS端进行自动化测试。公司硬件资源与人力不足时,当前框架不需要区分开发平台,所以开发周期与维护成本会大大降低。为实现上述目的,本专利技术公开了如下技术方案:一种跨移动端自动化测试框架系统,包括:设备配置模块:包括测试Android/IOS测试包路径配置,设备相关配置,APP的主包名和主类名配置,初始化驱动配置;驱动模块:需要调用驱动层的公共方法,需要用到驱动层的有:元素定位操作、手势、截图都封装到驱动,方便业务模块调用;业务模块:采用pageObject+keywords模式,将业务与数据分离,自由定制场景及场景执行顺序,实现Android与IOS代码合并;业务模块包括:页面元素定位文件,是将页面控件元素以静态参数的形式存放的指定文件,若页面控件的元素变更不用去修改被关联的N个地方,Android和IOS命名区分开或者分开存放都可以;参数文件,用来存放case中调用静态参数,SQL语句;元素操作文件,对页面控件元素操作,包含:点击、输入、查看、滑动、截图、日志;此处有操作系统判断,用来区分测试AndroidAPP还是IOSAPP,如果是在Windows上执行则执行Android,Mac则操作IOS;若项目只有AndroidAPP则将IOS部份置为空即可,反之同理;case文件,由多个元素操作文件组合成一个case,case传入的参数来源于参数文件,使得一个元素操作能够被多个case调用;场景文件,由多个case文件组合而成,包括BVT脚本、支付场景脚本、流程脚本中的一种或几种,能够随意定制;Testng.xml文件,管理和执行测试case;build.xml文件,用于构建代码,运行testng文件执行测试,生成测试报告;测试报告文件,脚本执行完毕自动生成测试报告,包含执行case数,通过case数、失败case数及报错记录;截图存档模块,包含常规截图与异常截图,常规截图由开关控制只有打开开关才会在执行过程中截图,若没有打开则不会截图,异常截图只有程序抛出异常才会截图;日志存档模块:测试过程中输出测试日志并存放指定位置。进一步的,一个框架同时支持Android与IOS自动化,项目既有AndroidApp也有IOSAPP在业务操作层平台判断处分别写入对应位置,若项目只有AndroidAPP在业务操作层平台判断处将IOS部份置为空及可,反之同理。本专利技术公开的一种跨移动端自动化测试框架系统,具有以下有益效果:1.本框架是将IOS与Android的自动化测试共同点与异同点分开实现,共分为三层:设备配置层,驱动层,业务层;从而实现一套框架同时兼容IOS与Android自动化测试;2.IOS与Android驱动层存放需要调用驱动层的公共方法,方便业务层调用。在开发时省去写常用方法的时间;3.节省了人力资源与运营成本:公司硬件资源与人力不足时,当前框架不需要区分开发平台,所以开发周期与维护成本会大大降低。4.此框架支持独立运行,若项目只有AndroidAPP在元素操作层平台判断处将IOS部份置为空及可,反之同理。附图说明图1是本专利技术流程图。具体实施方式下面将对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的核心是提供一种跨移动端自动化测试框架系统,只需要一套代码就可以实现Android与IOS自动化测试,对元素定位,操作,屏幕操作等公共方法做了二次封装,缩短开发周期,降低了代码维护成本,且不区分开发环境的操作系统。为实现一个框架同时兼容Android与IOS自动化测试,需要明确Android与IOS自动化的相同点与异同点:1.相同点1)框架相同都是基于Appium+Selenium+Testng+Ant2)都使用的JAVA语言2.异同点1)Driver不一样2)平台不一样3)启动App方法也不一样4)Android用的是Uiautomatorviewer定位元素,IOS用得AppiumInspector。前置条件:1.分别在Windows/MAC操作系统搭建好Appium+Selenium+Java+Testng+Ant环境;2.分别在Windows/MAC操作系统上配置好Appium。见图1,本专利技术公开的一种跨移动端自动化测试框架系统,包括:设备配置模块:包括测试Android/IOS测试包路径配置,设备相关配置,APP的主包名和主类名配置,初始化驱动配置;驱动模块:需要调用驱动层的公共方法,需要用到驱动层的有:元素定位操作、手势、截图都封装到驱动层,方便业务模块调用;业务模块:可以构成一个完整的技术方案,采用pageObject+keywords模式,将业务与数据分离,自由定制场景及场景执行顺序,实现Android与IOS代码合并;业务模块包括:页面元素定位文件,是将定位到的页面控件元素以静态参数的形式存放的指定文件,若元素地址变更只需修改元素定位文件中的参数即可,不用修改对应case,Android和IOS命名区分开或者分开存放都可以;参数文件,用来存放case中调用静态参数,SQL语句;元素操作文件,对页面控件元素操作,包含:点击、输入、查看、滑动、截图、日志;此处有操作系统判断,主要用来区分测试AndroidAPP还是IOSAPP,如果是在Windows上执行则执行Android,如果是Mac则操作IOS;若项目只有AndroidAPP则将IOS部份置为空即可;case文件,由多个元素操作文件组合成一个case,case传入的参数来源于参数文件,使得一个元素操作能够被多个case调用;场景文件,由多个case文件组合而成,包括BVT脚本、支付场景脚本、流程脚本中的一种或几种;Testng.xml文件,管理和执行测试case;build.xml文件,用于构建代码,运行testng文件执行测试,生成测试报告;测试报告文件,脚本执行完毕自动生成测试报告,包含执行case数,通过case数和失败case数及报错记录;截图存档模块,包含常规截图与异常截图,常规截图由开关控制,只有打开开关才会在执行过程中截图,若没有打开则不会截图,异常截图只有程序抛出异常才会截图;日志存档模块:测试过程中输出测试日志并存放指定位置。在本专利技术的一种实施例中,所述截图存档模块中,当程序执行查找元素失败时会自动抛出异常,在抛异常地方调用异常截图方法,当程序抛出异常时自动截图存放指定位置。本专利技术将Android与IOS设备配置分开,因IOS与Android调用设备异同;驱动层分开,驱动层都是需要调用驱动的公共方法,元素定位操作,截图,屏幕操作;元素操作层判断平台Windows侧执行androidAPP,Mac侧执行IOSAPP;CASE,场本文档来自技高网...
一种跨移动端自动化测试框架系统

【技术保护点】
一种跨移动端自动化测试框架系统,其特征在于,包括:设备配置模块:包括测试Android/IOS测试包路径配置,设备相关配置,APP的主包名和主类名配置,初始化驱动配置;驱动模块:需要调用驱动层的公共方法,需要用到驱动层的有:元素定位操作、手势、截图都封装到驱动,方便业务模块调用;业务模块:采用pageObject+keywords模式,将业务与数据分离,自由定制场景及场景执行顺序,实现Android与IOS代码合并;业务模块包括:页面元素定位文件,是将页面控件元素以静态参数的形式存放的指定文件,若页面控件的元素变更不用去修改被关联的N个地方,Android和IOS命名区分开或者分开存放都可以;参数文件,用来存放case中调用静态参数,SQL语句;元素操作文件,对页面控件元素操作,包含:点击、输入、查看、滑动、截图、日志;此处有操作系统判断,用来区分测试Android APP还是IOS APP,如果是在Windows上执行则执行Android,Mac则操作IOS;若项目只有Android APP则将IOS部份置为空即可,反之同理;case文件,由多个元素操作文件组合成一个case,case传入的参数来源于参数文件,使得一个元素操作能够被多个case调用;场景文件,由多个case文件组合而成,包括BVT脚本、支付场景脚本、流程脚本中的一种或几种,能够随意定制;Testng.xml文件,管理和执行测试case;build.xml文件,用于构建代码,运行testng文件执行测试,生成测试报告;测试报告文件,脚本执行完毕自动生成测试报告,包含执行case数,通过case数、失败case数及报错记录;截图存档模块,包含常规截图与异常截图,常规截图由开关控制只有打开开关才会在执行过程中截图,若没有打开则不会截图,异常截图只有程序抛出异常才会截图;日志存档模块:测试过程中输出测试日志并存放指定位置。...

【技术特征摘要】
1.一种跨移动端自动化测试框架系统,其特征在于,包括:设备配置模块:包括测试Android/IOS测试包路径配置,设备相关配置,APP的主包名和主类名配置,初始化驱动配置;驱动模块:需要调用驱动层的公共方法,需要用到驱动层的有:元素定位操作、手势、截图都封装到驱动,方便业务模块调用;业务模块:采用pageObject+keywords模式,将业务与数据分离,自由定制场景及场景执行顺序,实现Android与IOS代码合并;业务模块包括:页面元素定位文件,是将页面控件元素以静态参数的形式存放的指定文件,若页面控件的元素变更不用去修改被关联的N个地方,Android和IOS命名区分开或者分开存放都可以;参数文件,用来存放case中调用静态参数,SQL语句;元素操作文件,对页面控件元素操作,包含:点击、输入、查看、滑动、截图、日志;此处有操作系统判断,用来区分测试AndroidAPP还是IOSAPP,如果是在Windows上执行则执行Android,Mac则操作IOS;若项目只有AndroidAPP则将IOS部份置为空即可,反之同理;cas...

【专利技术属性】
技术研发人员:方平
申请(专利权)人:安徽善金科技股份有限公司
类型:发明
国别省市:安徽,34

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

1