Robotium是一个基于模拟点击事件的用于进行黑盒测试的android测试工具。
1. Android JUnit
Android自动测试沿用Java中的JUnit
创建测试类的时候,继承 ActivityInstrumentationTestCase2<MainActivity> 即可。
其中MainActivity为测试时进入的首个界面。
由于继承于JUnit
因此在 setUp()中进行准备工作
在 tearDown()中回收资源
测试主体在名为 testXXX() 内。
如果有多个testXXX()函数,则都会被执行,但不保证顺序。因此前提条件都应在setUp()中写好。
2.使用Robotium
要在 android junit 中使用robotium工具Solo. 需要添加成员变量(不需要公开的内容,就不要使用public)
protected Solo solo;
并在setUp()中初始化:
solo = new Solo( getInstrumentation(), getActivity() );
在tearDown()中回收:
solo.finishOpenedActivities();
3.基本API
完整 API:http://robotium.googlecode.com/svn/doc/index.html
个人常用:
solo.clickLongOnView( View ) 最常用的点击函数
solo.clickOnView(solo.getView(R.id.X)); 二者合用
#如果 R.id.X在当前界面不可见,会出Bug. 如果不确定其存在(如更新提示),先用solo.waitForView(Id, matchTime, timeout)确保其存在
solo.getCurrentActivity() 得到当前activity的context, 可以直接操作。我一般用来判断是否为预期activity如:
if( !(solo.getCurrentActivity() instanceof myActivity) )
solo.enterText( View, String) 在View 输入指定的字符串
solo.sleep(int time) 等待一段时间,单位为毫秒。一般是为了让程序点击后有足够时间来响应