APP自动化框架LazyAndroid使用手册--框架简介

幽映每白日,清辉照衣裳。这篇文章主要讲述APP自动化框架LazyAndroid使用手册--框架简介相关的知识,希望能为你提供帮助。
作者: cryanimalQQ:164166060 APP自动化简介 APP自动化, 即通过自动化的方式, 对APP施行一系列的仿按键输入、触摸屏输入、手势输入等操作, 以达到对APP的功能进行自动化测试的目的。
其一般过程如下图所示:

APP自动化框架LazyAndroid使用手册--框架简介

文章图片

APP自动化常用工具简介 Monkey
Monkey 是Android SDK 自带的自动化测试工具, 可以运行在模拟器里或实际设备中, 它向系统发送随机的用户事件流, 如按键输入、触摸屏输入、手势输入、Sensor 事件等, 实现对正在开发的应用程序进行表现或者压力测试。
如其名, Monkey主要用于验证app在不同的机器中, 随机的事件中, 是否有报错、崩溃、闪退等问题, 严格上来说, 不属于功能测试范畴, 更多测的是兼容性、稳定性、性能表现等。
具体可参见: http://blog.csdn.net/yafeng_0306/article/details/7283075

Robotium
Robotium主要针对android平台的应用进行黑盒自动化测试, 它提供了模拟各种手势操作( 点击、长按、滑动等) 、查找和断言机制的API, 能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试。另外, Robotium 4.0版本已经支持对WebView的操作。Robotium 对Activity, Dialog, Toast, Menu 都是支持的。
具体可参见: http://blog.csdn.net/luckyyulin/article/details/19044979


Appium
Appium一款开源自动化测试工具, 可以非常快捷的为ios和Android移动平台创建功能自动化测试用例。相比其他的移动自动化测试工具, Appium测试由于调用了 Selenium的client库使其可以使用任意的语言, 包括 PythonRuby、Node.js,Objective, java等。 具体可参见: http://blog.csdn.net/kaka1121/article/details/51732920
其主要工作流程如下:

APP自动化框架LazyAndroid使用手册--框架简介

文章图片

这里附上一个对比图
APP自动化框架LazyAndroid使用手册--框架简介

文章图片


APP自动化难点分析
  1. 一定的编码能力门槛。搭建测试框架、熟悉Appium API、成功启动APP、熟悉adb, 往往会把新人拦在门槛外;
  2. 控件( 元素) 获取*工作量大、繁杂*。APP自动化大量工作集中在“获取测试所需页面元素的Xpath”, 以及“校验获取Xpath是否能唯一定位元素”;
  3. 测试用例稳定性低。因Android操作系统不同、APP UI的多变导致的XPATH不稳定等因素, 导致测试用例也不稳定, 测试用例本身问题多于发现的bug, 维护成本高;
LazyAndroid框架简介 LazyAndroid致力于解决以上三个难点, 降低入门门槛和学习成本, 简化元素获取& 编码工作, 提高测试用例运行稳定性, 从而达到快速简洁地完成原生APP( Android) 自动化工作的目的。
LazyAndroid基于appium, 由三部分组成:
APP自动化框架LazyAndroid使用手册--框架简介

文章图片


1.元素获取插件: LazyUiAutomatorViewer
window应用程序, 基于UiAutomatorViewer, 用于抓取原生APP页面上的常用控件( 可批量或单个抓取) , 生成基于LazyAndroid框架的Java代码, 解决繁杂的元素的获取问题。
获取地址: http://download.csdn.net/detail/kaka1121/9685936
使用方法: 将通过上述地址下载的jar包放到安卓安装目录的lib下面 (\\Android\\android-sdk\\tools\\lib) , 替换掉原来的同名jar包, 再双击安卓安装目录的tools目录下的uiautomatorviewer.bat (\\Android\\android-sdk\\tools\\uiautomatorviewer.bat), 即可启动 LazyUiAutomatorViewer进行元素抓取。
2.APP操作API: LazyAndroid-API
提供安卓基本控件的使用和手机的滑动、按键等基本操作, 增加了元素查找的重试机制、异常处理截屏等功能。结合LazyUiautomaterViewer工具自动生成的bean层Java代码, 更可以使QA可以无需亲自动手完成具体页面中控件的抓取, 无需关心appium api的使用, 即可轻松完成测试逻辑代码的书写。

3.模板工程: LazyAndroid-template
提供Maven管理的, 基于Spring+ Testng的, 以京东钱包app的登陆和转账功能测试为例的第一个测试用例。
小结 本文简单介绍了LazyAndroid框架, 后续文章会手把手详解LazyAndroid的入手使用, 欢迎继续阅读
【APP自动化框架LazyAndroid使用手册--框架简介】


    推荐阅读