1.導入被測試的源碼
我們先下載加你計算器源碼,下載地址:
如果地址被牆無法現在下面網盤地址也可以下載:
鏈接: http://pan.baidu.com/s/1c2e8McC 密碼: vsj8
打開eclipse,點擊File-Import
選擇Existing Projects into Workspace,點擊Next
選擇Select archive file,選擇下載下來的源碼壓縮包,點擊Finish。
導入的項目如果有紅色的錯誤提醒,可以點擊項目然后鼠標右鍵選擇屬性,然后選中Android選項,然后在右側窗口選中一個Project Build Target即可
2.新建測試工程
File-New-Android-Android Test Project
在Project Name輸入工程名:AndroidCalculatorTest,點擊Next
在新出現的窗口中選擇剛才導入的計算機源碼,點擊Finish,即可新建一個測試工程
3.添加Robotium jar
如下地址下載最新的Robotium jar的包
在之前建好的測試項目下,新建libs文件夾,將下載下來的jar文件放到該文件夾下。鼠標右鍵該jar選擇Build Path,然后選擇Add To Build Path
4.新建一個自動化測試類
新建一個Java類,繼承ActivityInstrumentationTestCase2<Main>
代碼如下:
package com.calculator.test; import android.test.ActivityInstrumentationTestCase2; import android.widget.EditText; import android.widget.TextView; import com.calculator.Main; import com.robotium.solo.Solo; import com.calculator.R; @SuppressWarnings("rawtypes") public class MainTest extends ActivityInstrumentationTestCase2 { private Solo solo; @SuppressWarnings("unchecked") public MainTest() { super(Main.class); // TODO Auto-generated constructor stub } @Override protected void setUp() throws Exception { super.setUp(); solo = new Solo(getInstrumentation(), getActivity()); } public void testDisplayWhiteBox() { float vFirstNumber = 10; float vSecondNumber = 10; float vResult = vFirstNumber * vSecondNumber; EditText vFirstEditText = (EditText) solo.getView(R.id.EditText01); solo.clearEditText(vFirstEditText); solo.enterText(vFirstEditText, String.valueOf(vFirstNumber)); // AccessSecondvalue(edit-filed)andputtingSecondNumbervalueinit EditText vSecondEditText = (EditText) solo.getView(R.id.EditText02); solo.clearEditText(vSecondEditText); solo.enterText(vSecondEditText, String.valueOf(vSecondNumber)); // ClickonMultiplybutton solo.clickOnButton("Multiply"); assertTrue(solo.searchText(String.valueOf(vResult))); TextView outputField = (TextView) solo.getView(R.id.TextView01); // Assert to verify result with visible value assertEquals(String.valueOf(vResult), outputField.getText().toString()); } @Override protected void tearDown() throws Exception { solo.finishOpenedActivities(); } }
5.運行robotium測試用例
確保設備已成功連接到電腦,可在Windows命令行下,通過adb devices查看設備有沒有成功連接,同時確保設備處於喚醒、解鎖狀態下,當然也可選擇在模擬器中運行。然后在測試類中右擊鼠標,選擇Run As -> Android JUnit Test
觀察手機或者模擬器,會自動化啟動計算器APP,然后自動填充在測試類中寫的兩個數值,然后點擊計算按鈕,最后匹配結果是否與預期一致。如果與預期相符,會有綠色的進度條表示用例執行通過,反之會顯示紅色的條幅。
就這樣成功的運行了第一個robotium的自動化用例。
模擬器推薦使用Genymotion,直接下載 .exe,雙擊安裝。
官網地址:https://www.genymotion.com/download/
下載地址:鏈接: http://pan.baidu.com/s/1nv3YXZz 密碼: 3u93