robotium的github地址
https://github.com/RobotiumTech/robotium
当前最新版本5.6.3
所以在项目(基于android studio构建)中添加
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.6.3'
在androidTest下边建个Test.java文件(名称随便命名),或者你从主项目的其中一个activity文件中,右键goto -》 test,新建一个androidTest例子
Test类继承父类 ActivityInstrumentationTestCase2
其中最重要的一个操作对象,Solo,这个对象时自动化的关键
private Solo solo;
Solo初始化,重新setUp方法
@Override
public void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation(), getActivity());
}
你要启动哪个activity,则在无参数构造方法(请注意这个加粗字体,无参,否则会报错)中实现如下
public Test() {
super(MainActivity.class);
}
然后就可以随便写个方法测试一下了
public void testLogin() throws Exception {
//choose environment
//solo.waitForDialogToOpen();
//solo.clickOnText("更多");
//solo.clickOnButton("OK");
//assert home screen finished loading.
//assertTrue(solo.waitForText("Diapering"));
//解锁屏幕
solo.unlockScreen();
solo.clickOnEditText(0); //点击输入框
Thread.sleep(1000); //休息1秒
solo.enterText(0, "123456"); //往第一个EditText,输入文本。第一个为0
Thread.sleep(1000); //休息1秒
solo.enterText(1, "123456"); //往第一个EditText,输入文本。第一个为0
solo.clickOnText("登录"); //点击按钮
solo.takeScreenshot(); //屏幕截图,并保存到 "/sdcard/Robotium-Screenshots/".
}
测试完成后,也可以做相应的提示
@Override
protected void tearDown() throws Exception {
ToastStyleUtil.showWarmTip(null,"测试完成了");
super.tearDown();
}
如果要做单元变量监控,调试接口,可以在activity中打断点,然后以debug方式运行这个test例子,打开这个文件,右键Debug运行就可以了,有断点就会挺下来
更多高级用法,请自行探索。