作者: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库使其可以使用任意的语言,包括PythonRuby、Node.js,Objective,java等。

具体可参见: http://blog.csdn.net/kaka1121/article/details/51732920

其主要工作流程如下:

这里附上一个对比图

APP自动化难点分析

  1. 一定的编码能力门槛。搭建测试框架、熟悉Appium API、成功启动APP、熟悉adb,往往会把新人拦在门槛外;

  2. 控件(元素)获取*工作量大、繁杂*。APP自动化大量工作集中在“获取测试所需页面元素的Xpath”,以及“校验获取Xpath是否能唯一定位元素”;

  3. 测试用例稳定性低。因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)--框架简介的更多相关文章

  1. APP自动化框架LazyAndroid使用手册(2)--元素自动抓取

    作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...

  2. APP自动化框架LazyAndroid使用手册(3)--核心API介绍

    作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204 ...

  3. APP自动化框架LazyAndroid使用手册(4)--测试模板工程详解

    概述 前面的3篇博文分别对lazyAndroid的框架简介.元素抓取和核心API进行了说明,本文将基于框架给出的测试模板工程,详细阐述下使用该框架进行安卓UI自动化测试的步骤. 模板工程 先来看一下模 ...

  4. Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档

    我的博客:CODE大全:www.codedq.net:业余草:www.xttblog.com:爱分享:www.ndislwf.com或ifxvn.com. Koa -- 基于 Node.js 平台的下 ...

  5. APP自动化针对PO模式进行二次封装之basepage

    APP自动化跟WEB自动化所使用的框架基本一样,都是采用的PO模式结合pytest框架编写自动化测试脚本,为了提高代码的复用性.稳定性和易维护性,我们针对PO模式进行了二次封装,将日志,等待以及异常截 ...

  6. Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)

    概述 前面的一篇博文粗略介绍了基于lazyUI的第一个demo,本文将详细描述此工具的设计和使用. 元素获取插件:LazyUI Elements Extractor,作为Chrome插件,用于抓取页面 ...

  7. App 自动化框架设计思路

    最近在整理和学习Appium+Java 自动化框架,对APP自动化框架的部分设想参考了一些文章,先进行整理下: 框架的思路一: 思考引入:https://www.cnblogs.com/yunfeio ...

  8. Navi.Soft30.框架.WinForm.开发手册

    阅读导航 Navi.Soft30.Core类库.开发手册 http://www.cnblogs.com/xiyang1011/p/5709489.html Navi.Soft30.框架.WinForm ...

  9. 手机APP自动化环境搭建

    1 摘要 近年来,随着移动应用从数量上和逻辑复杂程度上的增长,以及产品发布周期的紧缩,使得回归测试迫在眉睫,鉴于此APP自动化测试变得越来流行,当前主流的APP自动化工具有:Appium.Roboti ...

随机推荐

  1. 浅析php过滤html字符串,防止SQL注入的方法

    批量过滤post,get敏感数据 复制代码 代码如下: $_GET = stripslashes_array($_GET);$_POST = stripslashes_array($_POST); 数 ...

  2. MyBatis(2)——MyBatis 深入学习

    编写日志输出环境配置文件 在开发过程中,最重要的就是在控制台查看程序输出的日志信息,在这里我们选择使用 log4j 工具来输出: 准备工作: 将[MyBatis]文件夹下[lib]中的 log4j 开 ...

  3. HTML笔记05------AJAX

    AJAX初探01 AJAX概念 概念:即"Asynchronous JavaScript And XML" 通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新.这意 ...

  4. thinkphp3.2v

    1.thinphp环境搭建 一.将thinkphp文件拿出来,对我们有用的是cof和library,其他对开发都没有作用. 在thinkphp/library/think文件夹中几个重要的文件 1.A ...

  5. [ZooKeeper] 1 基本概念

    ZooKeeper: A Distributed Coordination Service for Distributed Applications ZooKeeper is a distribute ...

  6. [WC 2006]水管局长数据加强版

    Description SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一 ...

  7. [NOI 2001]炮兵阵地

    Description 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图.在每一 ...

  8. [POJ 1006]生理周期

    Description 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰 ...

  9. 【BZOJ4034】【HAOI2015】树上操作

    题目请自行查阅传送门. 典型的树剖题,线段树维护操作,记一下子树在线段树内范围即可. 时间复杂度:\( O(m \log^{2} n) \) #include <stdio.h> #def ...

  10. 2015 多校联赛 ——HDU5301(技巧)

    Your current task is to make a ground plan for a residential building located in HZXJHS. So you must ...