標籤:安卓測試自動化 安卓
天地會珠海分舵注:本來這一系列是準備出一本書的,詳情請見早前博文“尋求夥伴編寫《深入理解 MonkeyRunner》書籍“。但因為諸多原因,沒有如願。所以這裡把草稿分享出來,所以錯誤在所難免。有需要的就參考下吧,轉寄的話還請保留每篇文章結尾的出處等資訊。
我們在增加和編輯一個日記的時候會從NotesList這個Activity進入到NoteEditor這個Activity。增加和編輯的時候的控制項都是一樣的,只是他們的標題內容會有區別。
下面我們先來通過hierarchyviewer來看下NoteEditor這個Activity的component名稱:
圖2-3-1 NoteEditor的Component名稱
從可以看到該NoteEditor的包名和NotesList是一樣的,都是”com.example.android.notepad”,因為他們都是同一個應用NotePad下面的Activity;而它的Activity名稱是”com.example.android.notepad.noteEditor”。
下面我們看一下該Activity的介面,比如我們點擊NotesList上面的”Note2”這個日記,它就會進入該日記的編輯介面:
圖2-3-2 編輯Note2的NoteEditor介面
該Activity視窗由兩個控制群組成,第一個是標題,是一個TextView控制項;第二個是日記內容,是一個可編輯的EditText控制項,我們可以修改裡面的內容。進入到該介面後,軟鍵盤會自動彈出來方便使用者輸入之用。
下面我們來看下uiautomatorviewer中這兩個控制項的屬性內容,我們先看下標題:
圖2-3-3NoteEditor標題控制項屬性
同可以看到該標題的內容在我們的例子中是”Edit:”Note2””,它是一個TextView的控制項,並且我們也得到了他的resource-id和邊界座標。我們今後就可以通過這些資訊來進行MonkeyRunner測試指令碼的編寫。
最後我們看一下NoteEditor這個Activity裡面的日記內容編輯控制項的屬性是怎麼樣的:
圖2-3-4 NoteEditor日記內容編輯控制項屬性
通過uiautomatorviewer提供的資訊我們可以看到該控制項是個EditText可編輯控制項,並且我們在右下角也可以獲得該控制項的屬性來協助我們編寫MonkeyRunner的測試指令碼。?
天地會珠海分舵
公眾號:TechGoGoGo
微博:http://weibo.com/techgogogo
CSDN:http://blog.csdn.net/zhubaitian
第2章3節《MonkeyRunner源碼剖析》瞭解你的測試對象: NotePad視窗Activity之NoteEditor簡介(原創)