robotium獲取android頁面元素的邏輯

先來看看android中頁面元素的繼承關係html

Viewjava

android.view.Viewandroid

這個類表示用戶界面組件的基本構建塊。一個View佔據屏幕上的一個矩形區域,並負責繪圖和事件處理。
View是widgets的基類,widgets用於建立交互式UI組件(按鈕,文本框等)。
ViewGroup子類是layouts的基類,layouts是不可見的容器包含其餘Views(或其餘的ViewGroup),並定義它們的佈局屬性。web

 

WebView瀏覽器

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.AbsoluteLayout
         ↳ android.webkit.WebView

顯示網頁的View。這個類是你在你的Activity中,運行本身的網頁瀏覽器或簡單地顯示一些網上的內容的基礎。它使用了WebKit渲染引擎來顯示網頁,方法包括:歷史的前進和後退導航,放大和縮小,執行文本搜索和更多。佈局

請注意,爲了使你的Activity能訪問Internet,在WebView中加載網頁,你必須添加Internet權限到你的Android Manifest文件:測試

<uses-permissionandroid:name="android.permission.INTERNET"/>

必須是element.的子節點spa

 

java.lang.Object
   ↳ android.view.View
     ↳

android.widget.TextVieworm

 

 

再經過走讀robotium的源碼,咱們能夠知道robotium獲取android元素的順序:htm

Robotium作自動化測試主要是使用class Solo中的方法,獲取元素的順序,根據類的繼承關係依次爲:View ->具體元素,如TextView、ImageButton等

 

獲取具體頁面元素,經過Getter類中的getter.getView方法組,根據傳遞參數不一樣,調用的方法不同,若是你傳int id,那就經過activity.findViewById(id);方法

若是是String id,使用targetContext.getResources().getIdentifier(id, "id", "android")方法得到viewId,再經過getView(viewId, index)

public ImageButton getImageButton(int index) {  return (ImageButton)getter.getView(android/widget/ImageButton, index); }

相關文章
相關標籤/搜索