我想大家在安裝完robotium後,都會試試noteslist 這個例子吧。這個是官網提到的例子
首先打開noteslist 源碼
C:\android-sdk_r10-windows\android-sdk-windows\samples\android-7\NotePad
再打開noteslisttest 源碼
可以從上面下載 http://code.google.com/p/robotium/downloads/list/ExampleTestProject_v2.3.zip
要做一點修改。 因爲noteslist是在androidV21開發的,而我的測試代碼是V23的。我們最好要改成一致的。
修改 noteslisttest 下的AndroidManifest.xml
<uses-sdk android:minSdkVersion="9" />
改成<uses-sdk android:minSdkVersion="7" />
這兩個數字表示什麼意思呢?
7--androidV21,9--androidV23,最低版本是3--AndroidV15.
大家按順序排就知道哪個數字對應的版本了
然後在 noteslisttest 右擊選中Properties--Android,選中AndroidV21
這樣noteslisttest 裏帶的android jar 由android2.3 變爲android2.1
再說一個配置,我覺得也很重要
還是在AndroidManifest.xml 裏
<instrumentation android:targetPackage="com.example.android.notepad" android:name="android.test.InstrumentationTestRunner" />
紅色加粗的字符串表示我們要測試代碼的package
OK,這樣我們就弄好代碼了。 我們只需要執行Run As--Android Junit test
下面我們看看 noteslisttest 裏的具體代碼,看看它是怎麼測試的
// 告知系統我要測試的app是什麼
public NotePadTest() {
//打開noteslist
}
這是我們第一個case,主要目的是測試添加文本的功能
clickOnMenuItem(String)
功能是點擊Menu按鈕,選擇文本描述爲String的菜單,如我們的例子是"Add note"
assertCurrentActivity(String message,String name)
這個是判斷當前的activity是否和我預期的一致
message是描述性的文字
name是指activity的名字
關於如何知道activity 名字,我找了半天的文檔,目前的方法是得看源碼中的 AndroidManifest.xml--Application label--Application Nodes,在那裏我們可以看到所有的activity的name
enterText(int index,string text)
index用來標識寫到哪個EditText中。如果當前只打開一個EditText,那index=0
text:就是我們要寫入的內容
goBack()
相當於手機上的 返回鍵(back key)
goBackToActivity(String name)
返回到指定的activity
searchText(String text)
在當前的activity中搜索是否含有text的內容
}
第二個case,主要是測試編輯功能的
clickInList(int index)
點擊list表的第index行,進入該文本界面
solo.setActivityOrientation(Solo.LANDSCAPE);
setActivityOrientation,設置手機屏幕顯示方式
LANDSCAPE:橫向顯示
Portrait:豎向顯示
public void testRemoveNote() throws Exception {
第三個case,是用來測試刪除功能的
clickOnText(String text)
點擊包含該文字的地方
其中text可以用正則表達式表示
(?i)----忽略大小寫。默認情況是大小寫敏感的。
正則表達式與java保持一致
clickLongOnText(String text)
長時間按住所選的文字
例子看上去還比較簡單。學了幾個函數方法。
請尊重原創,轉載請註明來源:http://www.cnblogs.com/morebetter/archive/2011/05/19/2050326.html