android测试之——Instrumentation(一)

以下是本人原创,如若转载和使用请注明转载地址。本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!博客地址

感谢您支持我的博客,我的动力是您的支持和关注!如若转载和使用请注明转载地址,并且请尊重劳动成果,谢谢!

一、什么是Instrumentation?

Instrumentation和Activity有点类似,只不过Activity是需要一个界面的,而Instrumentation并不是这样的,我们可以将它理解为一种没有图形界面的,具有启动能力的,用于监控其他类(用Target Package声明)的工具类。

二、测试原理

Android 测试环境的核心是一个Instrumentation框架,在这个框架下,你的测试应用程序可以精确控制应用程序。使用Instrumentation, 你可以在主程序启动之前,创建模拟的系统对象,如Context;控制应用程序的多个生命周期;发送UI事件给应用程序;在执行期间检查程序状态。 Instrumentation框架通过将主程序和测试程序运行在同一个进程来实现这些功能。
三、测试架构的特点
1、基于JUnit:Android的测试套件是基于JUnit的,我们呢,可以使用junit测试,而不调用android的api。
2、提供特定的用例类:Android JUnit扩展提供特定组件的测试用例类。这些类提供的辅助方法,用于创建模拟对象和方法,帮助你控制组件的生命周期。
3、不需要学习新的技术:测试套件中包含的测试包类似于主应用程序包,所以你不需要学习一套新的工具或技术来设计和建造的测试。
4、自动构建清单文件:我们使用sdk adt eclipse这些工具,能够自动的从被测程序中得到所需的信息。

四、框架图讲解

下图是app测试框架图
说明:mock其实就是android.test包下的一个模拟类
我们可以看到api中对mock的介绍,实用工具用于提供各种android框架的测试或者模拟。

说明:现在就开始说明这个最为关键的类InstrumentationTestRunner了
解释说此类是一个基于android包运行不同种类的测试例的Instrumentation。

五、下面的图片概要的描述了Android的测试环境:

在 Android中,测试程序也是Android程序,因此,它和被测试程序的书写方式有很多相同的地方。SDK工具能帮助你同时创建主程序工程及它的测试 工程。你可以通过Eclipse的ADT插件或者命令行来运行Android测试。Eclipse的ADT提供了大量的工具来创建测试用例,运行以及查看 结果。









android测试之——Instrumentation(一),,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。