天天看點

Android自動化測試——Monkey

之前有和公司同僚一起研究過Android的一些自動化測試工具,當時記得花費了大半天時間去研究怎麼使用,但是卻忘記整理了,趁着最近不太忙,整理下Android的自動化測試工具吧。

目前最常用的Android自動化測試工具主要有以下幾個:

  1. Monkey: 首頁位址(Google)
  2. MonkeyRunner: 首頁位址(Google)
  3. Robotium: 首頁位址(Git)

這三個中,Monkey和MonkeyRunner均在Google的開發者中心有介紹,上邊也有給出連接配接,需要翻牆,下邊将逐個進行介紹。

1.Monkey

Monkey是Android系統自帶的測試工具,谷歌官方給出的介紹是:Monkey是一款可以運作在虛拟機或是真機上的測試程式,主要原理是通過發送一系列的僞随機流事件,模拟使用者點選滑動等操作,測試應用程式的健壯性。

1.1 Monkey指令

Monkey的使用方法比較簡單,使用adb連接配接上用戶端以後,可以直接使用Monkey指令進行測試

Android自動化測試——Monkey

圖中紅線圈出來的為一些常用指令:

  1. -p 指定應用程式包名
  2. –pct-touch 指定輸入touch事件所占百分比
  3. –pct-trackball 指定輸入軌迹事件所占百分比
  4. -s 種子,生成僞随機數的Seed,兩次Monkey的Seed一緻時,将産生相同的随機事件
  5. –throttle 每一次事假與下一次事件之間的延時,機關為毫秒

1.2 Monkey使用方法

為了更加清晰的示範Monkey的随機事件,我寫了一個簡單的畫闆,這樣每一次輸入,将會直覺的呈現在螢幕上。畫闆測試代碼:我是測試畫闆

Android自動化測試——Monkey

上圖為Monkey基本指令使用方法,分為兩步:

  1. 使用adb shell 連接配接用戶端
  2. 執行monkey指令

其中

  1. -p 指定我需要測試的應用的包名:com.xinwei.test.monkey 如果沒有安裝這個應用,也可以直接使用系統自帶的電腦進行測試,更加直覺。系統電腦包名:com.android.calculator2
  2. –pct-motion 100 表示輸入事件中動作事件占100%
  3. throttle 延時 200毫秒,即每一次動作之間均延時200ms
  4. 1000 最後一位 一千次随機事件

當然,也可以不指定包名輸入事件等,隻需要指定随機事件個數,試試吧,有驚喜的。

1.3 測試結果

使用上述指令,測試自定義畫闆應用,設定輸入事件全部為動作事件,結果如下:

Android自動化測試——Monkey

當沒有指定事件類型時,即輸入事件全部為随機事件時:

Android自動化測試——Monkey

2. 總結

至此,大概對Monkey的使用進行了簡單的介紹,下篇文章中将對MonkeyRunner環境搭建及使用進行介紹。

繼續閱讀