Robotium是一款android自动化测试框架,主要针对android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API。能够对各种控件进行操作。
package com.robotium.test;
import com.robotium.solo.Solo;
import com.example.android.notepad.NotesList;
import android.test.ActivityInstrumentationTestCase2;
这段代码是主要引入了运行robotium封装好的com.robotium.solo.Solo、被测试的测试框架
setup()函数通常会通过调用getInstrumentation()和getActivity()函数来获取当前测试的仪表盘对象和待测应用启动的活动对象,并创建Robotium的solo实例。tearDown()函数是在测试用例运行完之后做的收尾性的工作,通过finishOpenedActivities()能够关闭所有在测试用例执行期间打开的Activity.
solo.unlockScreen()是解锁屏幕,这种解锁只支持非安全的锁,也就是类似滑动解锁的操作;
solo.assertCurrentActivity("Expected NoteEditor activiy","NoteEditor");
这是个断言语句,,判断单击了“add note”菜单项后,当前activity是否为“NoteEditor”
solo.hideSoftKeyboard()用于隐藏软键盘
solo.setActivityOrientation(solo.LANDSCAPE);设置手机屏幕横向显示
solo.clickOnmenuItem("Edit title")单击菜单键选择“Edit title”
solo.goBack()单击返回
solo.setActivityOrientation(solo.portrait)用于设置屏幕纵向显示
boolean noteFound=solo.waitForText("(?i).*?note 1 test"); 等待并查看当前的界面是否偶匹配的文字。solo . waitForText()函数内是个正则表达式(“(?i)”表示忽略大小写)
assertFalse("Note 2 is found", noteFound);断言语句,如果noteFound为真,不显示“Note 1 test is not found ”