android 自动化测试--robotium使用,可以用来做自动化、单元测试等一系列测试

来源:互联网 发布:剑灵帅气灵男捏脸数据 编辑:程序博客网 时间:2024/06/06 17:39


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/".    }

测试完成后,也可以做相应的提示

@Overrideprotected void tearDown() throws Exception {    ToastStyleUtil.showWarmTip(null,"测试完成了");    super.tearDown();}


如果要做单元变量监控,调试接口,可以在activity中打断点,然后以debug方式运行这个test例子,打开这个文件,右键Debug运行就可以了,有断点就会挺下来

更多高级用法,请自行探索。








原创粉丝点击