之前有和公司同僚一起研究過Android的一些自動化測試工具,當時記得花費了大半天時間去研究怎麼使用,但是卻忘記整理了,趁着最近不太忙,整理下Android的自動化測試工具吧。
目前最常用的Android自動化測試工具主要有以下幾個:
- Monkey: 首頁位址(Google)
- MonkeyRunner: 首頁位址(Google)
- Robotium: 首頁位址(Git)
這三個中,Monkey和MonkeyRunner均在Google的開發者中心有介紹,上邊也有給出連接配接,需要翻牆,下邊将逐個進行介紹。
1.Monkey
Monkey是Android系統自帶的測試工具,谷歌官方給出的介紹是:Monkey是一款可以運作在虛拟機或是真機上的測試程式,主要原理是通過發送一系列的僞随機流事件,模拟使用者點選滑動等操作,測試應用程式的健壯性。
1.1 Monkey指令
Monkey的使用方法比較簡單,使用adb連接配接上用戶端以後,可以直接使用Monkey指令進行測試
圖中紅線圈出來的為一些常用指令:
- -p 指定應用程式包名
- –pct-touch 指定輸入touch事件所占百分比
- –pct-trackball 指定輸入軌迹事件所占百分比
- -s 種子,生成僞随機數的Seed,兩次Monkey的Seed一緻時,将産生相同的随機事件
- –throttle 每一次事假與下一次事件之間的延時,機關為毫秒
1.2 Monkey使用方法
為了更加清晰的示範Monkey的随機事件,我寫了一個簡單的畫闆,這樣每一次輸入,将會直覺的呈現在螢幕上。畫闆測試代碼:我是測試畫闆
上圖為Monkey基本指令使用方法,分為兩步:
- 使用adb shell 連接配接用戶端
- 執行monkey指令
其中
- -p 指定我需要測試的應用的包名:com.xinwei.test.monkey 如果沒有安裝這個應用,也可以直接使用系統自帶的電腦進行測試,更加直覺。系統電腦包名:com.android.calculator2
- –pct-motion 100 表示輸入事件中動作事件占100%
- throttle 延時 200毫秒,即每一次動作之間均延時200ms
- 1000 最後一位 一千次随機事件
當然,也可以不指定包名輸入事件等,隻需要指定随機事件個數,試試吧,有驚喜的。
1.3 測試結果
使用上述指令,測試自定義畫闆應用,設定輸入事件全部為動作事件,結果如下:
當沒有指定事件類型時,即輸入事件全部為随機事件時:
2. 總結
至此,大概對Monkey的使用進行了簡單的介紹,下篇文章中将對MonkeyRunner環境搭建及使用進行介紹。