android 自動化測試–robotium使用,可以用來做自動化、單元測試等一系列測試

android 自動化測試–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運行就可以瞭,有斷點就會挺下來。

You May Also Like