solo.typeText和solo.enterText方法都可以对EditeText进行测试,达到的测试目的是一样的。存在几点不同:1、实现上,typeText方法是robotium框架调用系统Instrumentation类里面的sendStringSync方法来实现的;enterText是调用...
分类:
其他好文 时间:
2014-11-24 11:39:36
阅读次数:
145
额进入稍微大点的公司又是写文档又是写测试类,真麻烦。
今天讲一下android 单元测试
首先,我们来了解一下android的测试类的层次结构:
可以看出android中的测试方法主要有AndroidTextCase和InstrumentationTextCase。在这篇文章中,我将介绍Instrumentation这种测试方法,那么什么是Instrumentation?
...
分类:
移动开发 时间:
2014-11-21 18:56:48
阅读次数:
418
用过Robotium做Android自动化测试的同学都知道,Robotium因为继承了instrumentation而无法进行跨进程的调用,比如模拟按键点击(据说4.3以后instrumentation有了getUIAutomator的入口,然后就木有然后了,本人没有亲试且不在本文讨论中)。本人亲试...
分类:
系统相关 时间:
2014-11-14 10:40:58
阅读次数:
783
从上一章《Robotium源码分析之Instrumentation进阶》中我们了解到了Robotium所基于的Instrumentation的一些进阶基础,比如它注入事件的原理等,但Robotium作为一个测试框架,其功能远不止于只是方便我们注入事件,其应该还包含其他高级的功能,参照我们前面其他框架如MonkeyRunner,UiAutomator和Appium的源码分析,我们知道一个移动平台自动...
分类:
其他好文 时间:
2014-11-12 10:38:39
阅读次数:
292
在做关于输入框的操作指引时,用动态的输入效果比用静态的图片指示效果会好很多,本文结合最近需要实现的一个搜索输入操作指引的功能介绍一下android平台模拟键盘输入的实现。
在android上不知道怎么录制gif的动态图,直接截图看一下效果吧,具体看demo就行啦。
实现起来很简单,开一个线程,通过sleep控制输入字符的间隔时间,封装一个模拟键盘输入的方法...
分类:
移动开发 时间:
2014-11-12 10:35:45
阅读次数:
196
注意:新建项目后再运行前一定要修改Manifest文件中的instrumentation 中的target package, 这个是测试的入口1. 程序开始要通知系统我要测的app是什么如何知道apk包名和Main Activity:通过re-sign.jar得到包名和Main Activity或者...
分类:
移动开发 时间:
2014-11-11 18:52:36
阅读次数:
248
在分析Robotium的运行原理之前,我们有必要先搞清楚Instrumentation的一些相关知识点,因为Robotium就是基于Instrumentation而开发出来的一套自动化测试框架。鉴于之前本人已经转载和编写了Instrumentation的一些文章,所以建议大家如果没有看过的还是翻看下先对Instrumentation有个基本的理解。然后带着疑问再来看这篇文章看是否能帮上自己。
既...
分类:
其他好文 时间:
2014-11-11 14:26:50
阅读次数:
313
1.import java.lang.instrument.Instrumentation;public class ObjectSizeFetcher { private static Instrumentation instrumentation; public static voi...
分类:
编程语言 时间:
2014-11-10 19:35:52
阅读次数:
183
Java5之后,增加了一个包java.lang.instrument,这个包的东西很少,两个接口,ClassFileTransformer和Instrumentation,一个类ClassDefinition,还有两个Exception:IllegalClassFormatException和UnmodifiableClassException;
先看一下这个包的描述吧,下面是JavaDoc的...
分类:
编程语言 时间:
2014-11-10 13:52:12
阅读次数:
339
JDK1.5之后提供了java.lang.instrument.Instrumentation,即java agent机制能够实现类的redefinition和retransform。redefinition对应Instrumentation.redefineClasses()能够实现类的热替换,但遗憾的是功能很有限。最近遇到一个开源项目spring-loaded,看了下官方的介绍文档:发现它功能比JDK自带的强大多了。经过自己的尝试,发现使用spring-loaded项目,确实可以实现java应用的热部署...
分类:
编程语言 时间:
2014-11-03 20:59:47
阅读次数:
300