1. 程式人生 > >robotium學習(三)

robotium學習(三)

後序 ews spa left 其中 如果 () ext 翻譯

Robotium是一個通用的測試Android App的框架,所以官方提供了一套通用的PKI文檔。我們在下載Solo包的時候同時可以下載一個javadoc包,解壓後就能看到官方文檔了,不過官方文檔是英文版本的,如果通讀一遍的話也是挺有難度的。還好網上也有對應的翻譯,所以我們不打算講述所有的API,只講解一些兒常用的。

3.1 點擊類操作

在手機App操作中,點擊操作是非常常用的,下面幾個API是基本的點擊操作:

(1)clickOnText(String text)

clickOnText(java.lang.String text, int match) clickOnText(java.lang.String text, int match, boolean scroll)

功能:點擊包含該文字的地方,其中text可以用正則表達式表示。如:(?i)----忽略大小寫。默認情況是大小寫敏感的,正則表達式與java保持一致。Scroll:true如果可滾動Match:匹配

(2)clickLongOnText(String text)

clickLongOnText(java.lang.String text, int match) clickLongOnText(java.lang.String text, int match, boolean scroll) clickLongOnText(java.lang.String text, int match, int time)

功能:長按一個包含該文字的地方。

參數:

Scroll:true如果可滾動 ,Time:長按的時間 Match:匹配

(3) clickOnButton(int index)

clickOnButton(java.lang.String name)

功能:以序號或是名稱單擊各種按鈕,index代表這個按鈕在view中的序號,name是屬性值。

(4)clickOnImageButton(int index)

功能:以序號的方式單擊一個圖片按鈕。

(5)clickOnCheckBox(int index)

功能:以序號的方式單擊一個復選按鈕。

(6)clickOnRadioButton(int index)

功能:以序號來單擊一個單選按鈕。

(7)clickOnToggleButton(java.lang.String name)

功能:點擊一個切換按鈕

(8) clickOnEditText(int index)

功能:以序號來單擊文本框,使其獲得焦點,然後執行後序的操作。

(9)clickOnScreen(float x, float y)

clickLongOnScreen(float x, float y)

clickLongOnScreen(float x, float y, int time)

功能:單擊屏幕的某一坐標。參數x,y標識出坐標的位置,time 代表長按的時間。

(10)clickLongOnTextAndPress(java.lang.String text, int index)

功能:長按後從list中選擇一個項目

(11)clickOnView(android.view.View view) clickLongOnView(android.view.View view) clickLongOnView(android.view.View view, int time)

功能:單擊一個View,或是長按一個View,參數time代碼長按的時間。

(12)clickOnImage(int index)

功能:以序號來執行單擊圖片操作。

(13)clickOnMenuItem(java.lang.String text) clickOnMenuItem(java.lang.String text, boolean subMenu)

功能:以菜單項來單擊選擇菜單,參數subMenu:子菜單,如果可以設置在子菜單中

3.2 輸入類操作

對要操作的App進行輸入操作,這也是常見的操作,Robotium輸入操作有如下幾種:

(1)void enterText(android.widget.EditText editText, String text)

功能:向一個符合條件的EditText輸入特定的文本。

(2)void enterText(int index, String text)

功能:對特定的符合序號index的文本框輸入文本。

(3)void enterTextInWebElement(By by, String text)

功能:通過By定位,對頁面元素輸入文本。

(4)void clearEditText(android.widget.EditText editText)

功能:清除特定的文本框中的內容。

(5)void clearEditText(int index)

功能:清除符合序號index的文本框中的內容。

(6)void clearLog()

功能:清除日誌文件

(7)void clearTextInWebElement(By by)

功能:清除頁面元素文本框內的信息。

這些兒是常用的輸入操作,為了不影響操作效果,建議在對文本框進行輸入之前,先清空一下。當然像菜單選擇,單選框,多選框也能輸入的,這些兒操作在上一節已經講過。

3.3 Get相關操作

在對App元素進行操作之前,首先要獲取這個元素的句柄,然後再去執行相關的操作。所以獲取到要操作的元素是第一步的,這也是自動化操作最基本的。

(1)getButton(int index)

getButton(java.lang.String text)

getButton(java.lang.String text, boolean onlyVisible)

功能:通過序號,文本獲取按鈕,參數onlyVisible為true時只獲取可見的按鈕。

(2)getCurrentActivity()

功能:返回當前activity。

(3)getCurrentButtons()

功能:返回button的list。

(4)getCurrentCheckBoxes()

功能:返回復選框的list。

(5)getCurrentDatePickers()

功能:返回日期選擇器的list。

(6) getCurrentEditTexts()

功能:返回當前文本框的list

(7)getCurrentGridViews()

功能:獲取當前網格視圖List。

(8) getCurrentImageButtons()

getImageButton(int index)

功能:獲取當前圖片按鈕list;根據序號獲取圖片按鈕。

(9)getCurrentImageViews()

功能:獲取當前ImageView列表。

(10)getCurrentListViews()

功能:獲取當前ListView列表。

(11)getCurrentProgressBars()

功能:獲取當前進度條信息。

(12)getCurrentRadioButtons()

功能:獲取當前單選按鈕列表。

(13)getCurrentScrollViews()

功能:獲取當前滾動條列表。

(14)getCurrentTextViews(android.view.View parent)

功能:獲取當前TextView的列表。

(15)getCurrentViews()

getView(int id) getViews()

getViews(android.view.View parent)

功能:獲取當前View,或是所有View的列表。

(16)getEditText(int index)

getEditText(java.lang.String text)

getEditText(java.lang.String text, boolean onlyVisible)

功能:根據序號,文本獲取EditText的句柄。

(17)getText(int index)

getText(java.lang.String text)

getText(java.lang.String text, boolean onlyVisible)

功能:獲取文本

robotium學習(三)