SuperMonkey使用說明書

一、準備條件

 1.測試設備需要是Android 4.1以上版本的系統(tǒng)
 2.將手機設置為充電時屏幕不關閉
 方法:進入手機設置--開發(fā)者選項--充電時屏幕不會休眠
(備注:找不到開發(fā)者選項的設備點擊內部版本號三次會彈出開發(fā)者選項)
 3.部分手機(如:魅族),自帶手機手機管家,關閉:USB安全管理
 方法:手機管家—權限管理—USB安全管理—關閉
 4.部分手機(如小米),開啟:USB調試(安全設置)
 方法:開發(fā)者選項—USB調試(安全設置)--開啟
 5.手機解鎖圖案設置為“無”
 方法:手機系統(tǒng)設置—安全--屏幕鎖定圖案設置為“無”
 6.手機首次執(zhí)行時如彈出安裝uiautomator請按提示一步步點擊后安裝
 7.手機安裝uiautomator
 進入python所在目錄,例如:D:\Python27\Lib\site-packages\uiautomator\libs
 adb –s 設備號 install app-uiautomator.apk
 adb  -s 設備號 install app-uiautomator-test.apk

二、執(zhí)行說明
1.測試準備:
執(zhí)行時手機不能和電腦斷開,否則不會生成執(zhí)行日志等文件
2.測試報告:
報告:report/時間戳/設備號
文件:report/時間戳/設備號/monkey.txt(每次執(zhí)行都生成)
文件:report/時間戳/設備號/20190115_205323_logcat(崩潰時截取的logcat)
文件:report/時間戳/設備號/xxx.csh(崩潰時截取)

崩潰時文件.png

3.各按鈕說明
幫助:跳轉到”SuperMonkey使用說明書“頁面
開始:當前選擇設備開始執(zhí)行monkey測試
停止:停止當前選擇設備執(zhí)行的monkey
開始所有:所有設備都開始執(zhí)行monkey測試
停止所有:停止所有設備執(zhí)行monkey
獲取包名: 請進入到被測試app程序里面,再點擊”獲取包名“

多設備可以選擇相同包,點擊”開始全部”同時執(zhí)行monkey測試
多設備可以選擇不同測試包,分別點擊”開始“執(zhí)行相應的monkey測試

4.提示信息
開始:提示"monkey test has been started 設備號"
停止:提示"monkey test has been stoped 設備號"
開始所有:不同設備連續(xù)彈出提示"monkey test has been started 設備號"
停止所有:不同設備連續(xù)彈出提示"monkey test has been stoped 設備號";
(多設備提示語連續(xù)彈出,只保留最后一條)

測試正常結束:{'monkey progress': 'finished', 'testresult': {'CRASH': 0, 'ANR': 0}}

三、monkey各參數(shù)段說明

1.-help   查看monkey的幫助信息
例:adb shell monkey -help  
    
2.-p   指定被測應用的包名 
例:adb shell monkey -p com.UCMobile.x86 100
如果想要指定多個包名,每一個包名要跟一個-p
例:adb shell monkey -p packageName1 -p packageName2 100

3.  COUNT  設置執(zhí)行的次數(shù)
例:adb shell monkey 100

4.-s 設置種子數(shù)(相當于設置一個路徑,因為monkey是
隨機事件,所以為了使回歸路徑一致就需要設置相同的seed值)
例:adb shell monkey 100 -s 5
如果想重現(xiàn)上面例子的路徑下次執(zhí)行的-s也必須為5

5.--throttle 設置每次隨機事件的時間間隔(單位:毫秒)
例:adb shell monkey 100 --throttle 500

6.--throttle time --randomize-throttle 設置隨機時間的時間間隔區(qū)間
例:adb shell monkey 100 --throttle 500 --randomize-throttle 
說明:執(zhí)行一百次monkey隨機事件,每次事件的間隔在0到500毫秒之間不固定

7.-v 設置日志級別最多(默認一個-v)
例:adb shell monkey -v 100
如需更詳細的日志可以加多個-v,最多3個
例:adb shell monkey -v -v -v 100

8.--ignore-crashes   運行中忽略crash,遇到crash依然把后面的事件跑完
例:adb shell monkey --ignore-crashes -v 100

9.--ignore-timeouts  運行中忽略ANR,遇到ANR依然把后面的事件跑完
例:adb shell monkey --ignore-timeouts -v 100

10.設置事件百分比,所有的百分比加起來不能超過100%
  0:觸摸事件百分比,即參數(shù)--pct-touch
  1:滑動事件百分比,即參數(shù)--pct-motion
  2:縮放事件百分比,即參數(shù)--pct-pinchzoom
  3:軌跡球事件百分比,即參數(shù)--pct-trackball
  4:屏幕旋轉事件百分比,即參數(shù)--pct-rotation
  5:基本導航事件百分比,即參數(shù)--pct-nav
  6:主要導航事件百分比,即參數(shù)--pct-majornav
  7:系統(tǒng)事件百分比,即參數(shù)--pct-syskeys
  8:Activity啟動事件百分比,即參數(shù)--pct-appswitch
  9:鍵盤翻轉事件百分比,即參數(shù)--pct-flip
  10:其他事件百分比,即參數(shù)--pct-anyevent
  例:adb shell monkey --pct-touch 20 -v 100
11.--ignore-native-crashes   忽略monkey本身的異常,直到事件執(zhí)行完畢
  例:adb shell monkey --ignore-native-crashes -v 100

四、monkey日志分析
1.崩潰問題
如出現(xiàn)崩潰問題在monkey.txt里搜索CRASH ;
SuperMonkey工具會實時分析和統(tǒng)計崩潰問題
例如:

// CRASH: xxxxxxxx
// Short Msg: java.lang.NullPointerException

2.ANR問題
如出現(xiàn)ANR問題,monkey.txt里搜索ANR in xxx
SuperMonkey工具會實時分析和統(tǒng)計無響應問題

3.Monkey測試完成
如monkey測試完成,monkey.txt里搜索Monkey finished

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
禁止轉載,如需轉載請通過簡信或評論聯(lián)系作者。

推薦閱讀更多精彩內容