1. 創建一個簡單的工程(可參考本人的日志《第一個應用HelloWorld》,需要對該工程稍做修改)作為被測程序,運行后顯示如下界面:

2. 創建一個Test Project
1). 打開eclipse,選擇File->New->Project…->Android Test Project,點擊Next。

2). 在Test Project Name中輸入測試工程的名稱,如:HelloWorldTest。選擇An existing Android Project,點擊右邊的Browse…按鈕。

3). 選擇被測工程,如之前創建的HelloWorldnp,點擊OK按鈕。

4). 會自動選擇和輸入Build Target和Properties,可以按照默認的,不用修改。

5). 一個新建的測試工程(HelloWorldTest)就創建好了,如下圖:

3. 創建一個Test Case
1). 在HelloWorldTest->src->com.liliandroid.helloworld.test上,右擊選擇New->Class,創建一個Test Case。

2). 在Name中輸入Test Case的名字,如:UITextTest。

3). 創建好的Test Case如下圖:

4. 導入robotium.jar
1). 選擇測試工程HelloWorldTest右擊,選擇Build Path->Configure Build Path…

2). 在打開的Properties for HelloWorldTest中點擊Add External JARs…按鈕。

3). 因為之前創建的工程的SDK是2.2的,所以選擇robotium-solo-1.8.0.jar。

4). 點擊OK按鈕。

5. 修改Test Case
打開UITextTest.java,輸入以下內容并保存:
packagecom.liliandroid.helloworld.test;
importandroid.test.ActivityInstrumentationTestCase2;
importcom.liliandroid.helloworld.ActivityMain;
importcom.jayway.android.robotium.solo.Solo;
publicclassUITextTestextendsActivityInstrumentationTestCase2<ActivityMain>{
privateSolosolo;
publicUITextTest() {
super("com.liliandroid.helloworld", ActivityMain.class);
}
publicvoidsetUp()throwsException {
solo=newSolo(getInstrumentation(), getActivity());
}
publicvoidtestUI()throwsException {
booleanexpected =true;
booleanactual =solo.searchText("This") &&solo.searchText("is");
assertEquals("This and/or is are not found", expected, actual);
}
}
注:這個Case是測試運行了ActivityMain后的界面上是否有This和is這兩個文字。
6. 運行測試程序
選擇測試工程HelloWorldTest右擊,選擇Run As->Android JUnit Test運行測試程序

運行完后的測試結果界面(Pass)

運行完后的測試結果界面(Fail)
注:
1. 被測試的工程和測試的工程可以是不同的SDK,但是不知道有什么影響。
2. 這是在eclipse中進行測試的,也可以在模擬器或者手機上測試。如果需要直接在模擬器或者手機上測試,需要將測試包和被測試包改成相同的簽名。(關于apk包的簽名和重簽名,請參考本人日志《重新簽名APK文件》)