APP自动化框架LazyAndroid使用手册(1)--框架简介
作者:cryanimal QQ:164166060
APP自动化简介
APP自动化,即通过自动化的方式,对APP施行一系列的仿按键输入、触摸屏输入、手势输入等操作,以达到对APP的功能进行自动化测试的目的。
其一般过程如下图所示:
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库使其可以使用任意的语言,包括Python、Ruby、Node.js,Objective,java等。
具体可参见: http://blog.csdn.net/kaka1121/article/details/51732920
其主要工作流程如下:

这里附上一个对比图

APP自动化难点分析
一定的编码能力门槛。搭建测试框架、熟悉Appium API、成功启动APP、熟悉adb,往往会把新人拦在门槛外;
控件(元素)获取*工作量大、繁杂*。APP自动化大量工作集中在“获取测试所需页面元素的Xpath”,以及“校验获取Xpath是否能唯一定位元素”;
测试用例稳定性低。因Android操作系统不同、APP UI的多变导致的XPATH不稳定等因素,导致测试用例也不稳定,测试用例本身问题多于发现的bug,维护成本高;
LazyAndroid框架简介
LazyAndroid致力于解决以上三个难点,降低入门门槛和学习成本,简化元素获取&编码工作,提高测试用例运行稳定性,从而达到快速简洁地完成原生APP(Android)自动化工作的目的。
LazyAndroid基于appium,由三部分组成:
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使用手册(1)--框架简介的更多相关文章
- APP自动化框架LazyAndroid使用手册(2)--元素自动抓取
作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...
- APP自动化框架LazyAndroid使用手册(3)--核心API介绍
作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204 ...
- APP自动化框架LazyAndroid使用手册(4)--测试模板工程详解
概述 前面的3篇博文分别对lazyAndroid的框架简介.元素抓取和核心API进行了说明,本文将基于框架给出的测试模板工程,详细阐述下使用该框架进行安卓UI自动化测试的步骤. 模板工程 先来看一下模 ...
- Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
我的博客:CODE大全:www.codedq.net:业余草:www.xttblog.com:爱分享:www.ndislwf.com或ifxvn.com. Koa -- 基于 Node.js 平台的下 ...
- APP自动化针对PO模式进行二次封装之basepage
APP自动化跟WEB自动化所使用的框架基本一样,都是采用的PO模式结合pytest框架编写自动化测试脚本,为了提高代码的复用性.稳定性和易维护性,我们针对PO模式进行了二次封装,将日志,等待以及异常截 ...
- Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)
概述 前面的一篇博文粗略介绍了基于lazyUI的第一个demo,本文将详细描述此工具的设计和使用. 元素获取插件:LazyUI Elements Extractor,作为Chrome插件,用于抓取页面 ...
- App 自动化框架设计思路
最近在整理和学习Appium+Java 自动化框架,对APP自动化框架的部分设想参考了一些文章,先进行整理下: 框架的思路一: 思考引入:https://www.cnblogs.com/yunfeio ...
- Navi.Soft30.框架.WinForm.开发手册
阅读导航 Navi.Soft30.Core类库.开发手册 http://www.cnblogs.com/xiyang1011/p/5709489.html Navi.Soft30.框架.WinForm ...
- 手机APP自动化环境搭建
1 摘要 近年来,随着移动应用从数量上和逻辑复杂程度上的增长,以及产品发布周期的紧缩,使得回归测试迫在眉睫,鉴于此APP自动化测试变得越来流行,当前主流的APP自动化工具有:Appium.Roboti ...
随机推荐
- Multipath在OpenStack中的faulty device的成因及解决(part 1)
| 版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.如有问题,可以邮件:wangxu198709@gmail.com 简介: Multip ...
- java模式之模板模式——抽象类
模板设计模式(Template ) abstract class Action{ // 定义一个行为类 public static final String WORK = "work&quo ...
- [LeetCode] Degree of an Array 数组的度
Given a non-empty array of non-negative integers nums, the degree of this array is defined as the ma ...
- Python数据抓取_BeautifulSoup模块的使用
在数据抓取的过程中,我们往往都需要对数据进行处理 本篇文章我们主要来介绍python的HTML和XML的分析库 BeautifulSoup 的官方文档网站如下 https://www.crummy.c ...
- burp的dns记录功能
写个备忘. 先点copy复制url,然后生成的url就能用了. 一关就没了,比较鸡肋些,不适合持久的,适合马上就能见效果的那种.
- spring data学习
在Spring Data模块中定义依赖: <dependencies> <dependency> <groupId>org.springframework.data ...
- WebApi的安全性及其解决方案
一.前言 WebApi的小白想要了解一些关于WebApi安全性相关的问题,本篇文章是整理一些关于WebApi安全.权限认证的文章. 二.内容正文 2.1 不进行验证 客户端调用:http:// ...
- [Codeforces 946G]Almost Increasing Array
Description 题库链接 给你一个长度为 \(n\) 的序列 \(A\) .现在准许你删除任意一个数,删除之后需要修改最小的次数使序列单调递增.问最小次数. \(1\leq n\leq 200 ...
- GCD(ZYYS)
[问题描述]在山的那边.海的那边有 n 个小矮人,他们生存的意义就是要保护他们的精神领袖——GCD.有一天,他们收到了一封恐吓信,说要在一个遥远的地方用维纳斯之箭射击 GCD,让他变成一根面条,n 个 ...
- [BZOJ]4405: [wc2016]挑战NPC(带花树)
带花树模板 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ...