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

来源:互联网 发布:revit软件插件探索者 编辑:程序博客网 时间:2024/04/29 04:39

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

0 0
原创粉丝点击