最近一直在看關於自動化測試的文章和工具,這是之前學習monkey的一些知識,想總結一下,方便以後查看,當然也可以提供一些參考。monkey 適合做壓力測試,我們可以發送命令讓它自己運行,並且指定運行動作的次數,下面這些是我總結的命令行:
1、有多臺設備連接時,指定一個設備:
adb -s devicesname shell
2、重啓abd.exe:adb start-server
3、結束adb:adb kill-sever
4、安裝:adb install c:/xxx.apk
5、卸載:adb uninstall apk
使用adb查看連接的設備:adb devices
進入shell:adb shell
查看所有可以使用monkey的應用程序包:ls data/data
對某一應用程序包進行monkey測試:monkey -p packagename -v 500(表示500次隨機事件流)
將monkey運行的日誌重定向到log.txt中:
在cmd命令行中輸入:adb shell monkey -p packagename -v 500 文件所在位置(D:/log.txt)
命令:
-p 指定運行的應用程序的包名
eg:monkey -v 500 將運行所有的應用程序
monkey -p com.when.coco -p com.example.hello -v 500 只運行指定的兩個應用程序
-v 指定反饋信息的級別,有三個級別(詳細程度)
level 1: adb shell monkey -p packagename -v 500
level 2: adb shell monkey -p packagename -v -v 500
level 3: adb shell monkey -p packagename -v -v -v 500
-s 指定隨機序列生成的值,可以保證測試所產生的隨機序列相同
adb shell monkey -p packagename -v 500
--throttle(毫秒)指定操作間的時延
adb shell monkey -p packagename --throttle -v 500
--ignore-crashes 指定程序奔潰時,繼續發送monkey命令直至時間數目達到指定數目
adb shell monkey -p packagename --ignore-crashes -v 500
--ignore-timeouts 指定應用程序發生ANR錯誤時(application no responding)繼續運行monkey,直到事情計數結束
adb shell monkey -p packagename --ignore-timeouts -v 500
--ignore-security-exceptions 指定應用程序發生許可錯誤(證書許可,網絡許可)繼續發送monkey命令,直到計數結束
adb shell monkey -p packagename --ignore-timeouts -v 500
--kill-process-after-error 指定應用程序發生錯誤時,應用程序停止保持在當前錯誤的狀態
一共有9個事件:
--pct {事件類型} {事件百分比}:
觸摸事件百分比:--pct-touch 20(表示觸摸事件爲20%) --0
動作事件百分比:--pct-motion --1
軌跡事件百分比:--pct-trackball --2
基本導航事件百分比:--pct-nav --3
主要導航事件的百分比:--pct-majornav --4
系統按鍵事件:-pct-syskeys --5
啓動事件:-pct-appswitch --6
鍵盤翻轉事件:--pct-file --7
其他事件的百分比:--pct-anyevent 100 --8
adb shell monkey --pct-anyevent 50 -pct-appswitch 50 -v 500
1、monkey -p com.yourpackage -v 500 簡單的輸出測試的信息。
2、monkey -p com.yourpackage -v -v -v 500 以深度爲三級輸出測試信息。
3、monkey -p com.yourpackage --port 端口號 -v 爲測試分配一個專用的端口號,不過這個命令只能輸出跳轉的信息及有錯誤時輸出信息。
4、monkey -p com.yourpackage -s 數字 -v 500 爲隨機數的事件序列定一個值,若出現問題下次可以重複同樣的系列進行排錯。
5、monkey -p com.yourpackage -v --throttle 3000 500 爲每一次執行一次有效的事件後休眠3000毫秒。
在此之前需要配置好環境,SDK的環境!!!
1、運行環境要求
1)Java SDK,AndroidSDK,配置adb
2、mac系統安裝adb(安裝Android-platform-tools)
1)brew tap caskroom/cask
2)brew cask install android-platform-tools
4、mankey腳本
adb shell monkey -p com.xxx.xxx(被測應用包名) --pct-touch 30 --pct-motion 30 --pct-nav 10 --pct-majornav 15 --pct-appswitch 10 --pct-anyevent 5 --pct-trackball 0 --pct-syskeys 0 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes --throttle 200(每個時間之間的間隔,單位ms) -s 123456 -v 6000(monkey事件的次數) >~/Downloads/crash.txt