您的位置:首页 > 移动开发 > Android开发

Android手机自动化测试工具介绍

2016-02-29 16:24 134 查看
1. Monkey Runner

1.1 什么是Monkey Runner?

Monkey Runner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。

1.2 语言

Python

1.3 Monkey Runner的特点

(1)多设备控制

Monkey Runner API可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或依次启动全部模拟器,依据程序依次连接到每一个,然后运行一个或多个测试。也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。

(2)功能测试

Monkey Runner可以为一个应用自动贯彻一次功能测试。提供按键或触摸事件的输入数值,然后观察输出结果的截屏。

(3)回归测试

Monkey Runner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。

(4)可扩展的自动化

由于Monkey Runner是一个API工具包,可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用Monkey Runner API之外,还可以使用标准的Python os和subprocess模块来调用Android Debug Bridge这样的Android工具。

2.Instrumentation

2.1什么是Instrumentation

早期Google提供的Android自动化测试工具类,虽然在那时候JUnit也可以对Android进行测试,但是Instrumentation允许你对应用程序做更为复杂的测试,甚至是框架层面的。通过Instrumentation,可以模拟按键按下、抬起、屏幕点击、滚动等事件。Instrumentation是通过将主程序和测试程序运行在同一个进程来实现这些功能,可以把Instrumentation看成一个类似Activity或者Service并且不带界面的组件,在程序运行期间监控主程序。

2.2语言

Java

2.3 Instrumentation的特点

很多公司写的工具都基于Instrumentation,另外Robotium就是基于此。

3.Robotium

3.1 什么是Robotium?

Robotium是一款国外的Android自动化测试框架,基于Instrumentation,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试。

3.2 语言

Java

3.3 Robotium的特点

(1)用法简单;

(2)无需理解源代码,可以测试APK;

(3)易于识别元素

4.UiAutomator

4.1什么是UiAutomator?

UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码)。基于Java,测试代码结构简单、编写容易、学习成本低,一次编译,所有设备或模拟器都能运行测试,能跨App。

4.2 语言

Java

4.3 UiAutomator的特点

(1)可以对所有操作进行自动化,操作简单;

(2)Android版本需要高于4.0,无法根据控件ID操作

5.Appium

5.1 什么是Appium?

Appium是一个跨平台、跨语言,最近比较热门的自动化框架,可用于测试手机应用、移动网页应用和混合型应用。

5.2 语言

Java、Object-C、JavaScript、Php、Python、Ruby、C#

5.3 Appium的特点

(1)开源;

(2)支持Andorid、iOS、FirefoxOS操作系统;

(3)支持Native APP、Hybird App、Web App;

(4)服务器也是跨平台,可以使用Mac OS X、Windows或者Linux
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: