monkey測試之基礎篇(2018.4.26更新)

    最近一直在看關於自動化測試的文章和工具,這是之前學習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 
 




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章