Android自动化测试框架

1、Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作;缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限;
    2、Rubotium:主要针对某一个APK进行自动化测试,APK可以有源码,也可以没有源码,功能强大;缺点是针对APK操作,而且需要对APK重新签名(有工具),因此操作相对复杂;
    3、UiAutomator:优点:可以对所有操作进行自动化,操作简单;缺点:Android版本需要高于4.0,无法根据控件ID操作,相对来说功能较为局限,但也够用了;
    4、Monkey:准确来说,这不算是自动化测试,因为其只能产生随机的事件,无法按照既定的步骤操作;
    由上面介绍可以有这样的结论:测试某个APK,可以选择Rubotium;测试过程可能涉及多个APK,选择UiAutomator;一些简单的测试,选择Monkeyrunner;

 
Hierachyview+Monkey


UiAutomator + Monkey


Robotium


权限


root


普通


普通


是否需要签名





响应速度


10s(网友测试数据)


4s(网友测试数据)


1-2s


是否支持WebView





是否支持跨应用测试





支持该特性的Android API


?


API 16


API 7


是否支持控件ID




从上述数据来看,Android提供的测试工具各有优缺点,有的支持WebView测试,有的不支持。有的支持跨应用,有的不支持。因此,一个好的Android测试工具,更多地是兼容了上述几种测试方法。例如,Appium。

UiAutomator Testcase类继承自JUnit的TestCase类。而Robotium、Espresso则继承自activityInstrumentationTestCase2。从这个继承关系,我们也能理解为什么采用Robotium的方式,应用需要签名。而采用UiAutomator则不需要。其原因是:采用Robotium的方式,其测试代码本质上是一个APK。根据Android的安全机制,应用是需要签名的。

时间: 2024-10-12 08:07:20

Android自动化测试框架的相关文章

Android自动化测试框架开发(一)自动化测试框架概要

在做Android自动化测试框架开发之前,我们应该先了解目前的发展状况,知道我们的目标是什么,也要了解当前的主流框架,做到知己知彼,取长补短. 首先要思考和了解几个问题: 我们开发自动化框架的目标是什么?如何得到想要的框架? 目前主流自动化框架的优劣势分析 剖析主流自动化框架的源码 如何利用框架进行二次开发? 本篇文章介绍上述第一个问题: 一:Android自动化测试框架目标 稳定性好:尽可能使用开发人员对控件定义的id等唯一定位信息,减少通过控件index进行节点判断 可移植性好:尽可能减少通

Android 自动化测试框架

Android常用的自动化测试工具框架: Monkey,MonkeyRunner,UIAutomator,Robotium,Appium,Monkey Talk 但是这些工具框架都有什么关系呢,先通过一张图来了解一下吧.(图是某博客上借过来的) 是不是一脸懵逼,不知道这是什么鬼.下面详细了解一下. 一.Monkey 是Android SDK自带的测试工具,是一个命令行工具,可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用

Android自动化测试框架分析

摘自<深入理解Android自动化测试>作者:许奔 1. 稳定性好:尽可能少地通过控件index进行节点判断. 2.可移植性好:尽可能少地通过坐标进行控件定位. monkey.monkeyrunner通过坐标进行控件定位. 3. 支持多应用交互:框架必须支持跨应用. instrumentation不支持跨应用. 4. 运行效率高:窗口跳转监控和窗口定位要准确. monkey.monkeyrunner窗口跳转监控和窗口定位不准确. 5. 容易上手:框架接口要容易理解和掌握. monkeyrunn

Android自动化测试框架开发(二)Monkey、MonkeyRunner介绍和分析

本篇介绍两个Android自带的测试框架:Monkey和MonkeyRunner 1.Monkey Monkey是android自带的测试框架,通过向手机发送随机事件(手势,点击,输入)进行应用程序压力测试(可指定应用程序包名,也可以说是稳定性测试),测试应用程序的稳定性和健壮性: 使用步骤: (1)进入adb shell (2)cd /system/bin 然后执行monkey命令即可: 常用的monkey命令(网上借的图): 分析: Monkey测试是一种为了测试软件的稳定性.健壮性的快速有

Android自动化测试框架新书:&lt;&lt;MonnkeyRunner实现原理剖析&gt;&gt;交流

大家觉得编写一本描述MonkeyRunner原理分析的书籍如何?估计大概10万字左右.内容大概分布如下: Monkey实现原理: 去描述运行在目标安卓机器的monkey是如何运行并处理MonkeyRunner发送过来的事件请求并把事件注入到系统的 Monkey命令处理源码情景分析:去分析关键命令事件如touch,tap等的实现原理 AndroidDebugMonitor(adb)运行原理: 分析MonkeyRunner是如何使用ddmlib库的AndroidDebugMonitor来跟目标安卓设

Android自动化测试工具实现简述

前言 自动化测试在产品开发和测试中都有着非常重要的作用.在产品开发阶段,可靠又重复性地运行以确保没有引进回归问题:在产品测试阶段,可以节省人力成本和时间成本,并能保证更大范围的覆盖.Android自动化测试工具同样可以节省不少人力和时间成本,对其研究和实现对于提高测试效率具有一定的意义.目前市面上也有不少Android自动化测试工具,本人在现有工具的基础上,加上自己的理解和实践向大家介绍自动化测试工具的原理和实现. 了解自动化测试的一定对Robotium并不陌生,Robotium是一款国外的An

Android 自动化测试(5)&lt;robotium&gt;

关于Android的自动化测试之UI测试,之前介绍过Android 自动化测试(4)<uiautomator>, 在android原生的单元测试框架上,利用uiautomator.jar这个类库来完成Android的界面上的测试,这已经使得测试比较简单了.但还有更加简单的写测试的方式,那就是利用一些第三方的测试框架,比如robotium. Android的第三方的测试框架,有Robolectric 和 robotium,我试着用了下,觉得robotium已经非常好用了. 1.概要 Roboti

Robotium自动化测试框架实用教程(图)

一.简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API,能够对各种控件进行操作.Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试.另外,Robotium 4.0版本已经支持对WebView的操作.Robotium 对Activity,Dialog,Toast,Menu 都是支持的. 二.相关下载 源码获取:http://code

对自己开发的产品负责——《腾讯Android自动化测试实战》

Android应用由于设备内存有限.网络连接不稳定.迭代速度快.用户体验要求高等原因,加上测试人员需要面对 Native.WebView 和 HTML5 等不同技术,造成了单元测试.性能测试.压力测试. 兼容性测试.速度测试等各方面都更大的挑战性.因此开发人员必须为自己开发的产品负责,在交付测试人员之前进行Android自动化测试. 腾讯移动品质中心的核心成员秉承"为自己开发的产品负责"的原则,把多年来在移动测试领域的探索和实践总结成了<腾讯Android自动化测试实战>.