android 自動化測試的傻瓜實踐之旅(UI篇) -----小試身手
自動化的 UI 測試
目前能免費進行android UI的自動化測試的方法有以下三種:
Monkey&MonkeyRunnerandroid 的Junit 測試框架Robotium
入門難度一般困難非常簡單
功能方面很一般無所不能基本滿足
關于Monkey & MonkeyRunner可以參考本人寫的另外兩篇
android實用測試方法之Monkey與MonkeyRunner (評論部分有些常見問題及部分解決有興趣的可以大概瀏覽一下)
增強型MonkeyRunner 腳本計劃 (算是一個小小的實踐吧)
說下,Monkey&MonkeyRunner
優點: 上手簡單,只需要apk
缺點: 文檔少,容易出錯,編寫腳本需要python基礎.
android 的Junit
關于這個內容我曾經做個一個小小的視頻,后來上傳到了優酷
Android 測試入門教程之activity簡單測試 (慎入,聲音比較蛋疼,畫面被優酷壓縮得不像樣..)
說下, android for Junit
優點: 無所不能…
缺點: 上手不容易,需要源碼.
Robotium
本文重點簡介的方法….
說下,Robotium
優點: 足夠簡單,足夠強大,支持apk測試
缺點: 還不能替代android for Junit
愉快的UI測試之旅 by Robotium
Robotium 是一個開源項目:
http://code.google.com/p/robotium/
目前最新版本:Robotium 3.1 is now released!
竟然,要做測試,我們要新建一個用于測試的項目:
直接下載項目吧….
http://vdisk.weibo.com/s/3feB5
然后,創建一個android的測試項目..
1,創建項目

2,選擇要測試的項目

3,完成

4,把Robotium導入到測試項目里面,順便說一下:ADT 17 預覽版 4已經支持自動把libs下的jar包導入到依賴環境中…用之前版本的朋友手動添加吧…

編寫第一個UI測試方法
?1
2
3
4
5
6
7
8
9
10
11
12
13
14
15public class FootTabClickTest extends ActivityInstrumentationTestCase2
//1,創建一個自動化測試對象
private Solo tabSolo;
public FootTabClickTest () {
super("com.achai",TabViewActivity.class);
}
@Override
protected void setUp() throws Exception {
// TODO Auto-generated method stub
super.setUp();
//2,初始化我們的測試對象
?1
2
3
4
5
6
7
8
9
10
11
12tabSolo = new Solo(getInstrumentation(), getActivity());
}
@Smoke
public void testClickEachTab(){
//3,獲取我們view 中所有的單選按鈕,沒錯就是這么簡單…
ArrayList
//4,自動點擊每個單選按鈕
for(int i=0; i < radioGroup.size(); i++){
tabSolo.clickOnRadioButton(i);
//5,暫停1s 用來看效果的…
?1
2
3tabSolo.sleep(1000);
}
//6,又一個強大的功能,直接識別點擊當前view中匹配的文本,與控件無關!!!!!!!
?1
2
3 tabSolo.clickOnText("(?i).*?我的收藏.*");
tabSolo.sleep(1000);
//7,這個是長按,注意留意動畫
?1
2
3
4
5
6
7
8
9
10
11
12
13
14 tabSolo.clickLongOnText("返回");
tabSolo.sleep(2000);
// tabSolo.clickOnRadioButton(1);
}
@Override
protected void tearDown() throws Exception {
// TODO Auto-generated method stub
super.tearDown();
}
}
效果動畫:

總結
就這么多了,感覺還不夠?那下次在更新吧…
【編輯推薦】