Monkey測試:
是Andriod是自動化測試的一種手段,Monkey測試本身非常簡單,就是模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,看設備多久時間會出現異常(比如調節音量,亮度調節,橫豎屏切換,截圖,播放音樂)
為什么要做Monkey測試? 模擬用戶,穩定性
模擬人的操作
模擬人長時間的測試
模擬人不同場景操作
怎么去做Monkey測試?
准備工作:
1)電腦端:androidsdk/JDK配置環境變量
2)手機端:手機選擇
3)建議真機測試,學習可以試用模擬器(夜神,逍遙,天天,雷電),工作不要用個人手機和模擬機
monkey測試不需要root,也不建議刷機
測試機:獲取root權限 獲取底層數據
4)配置:
版本號,連續點擊5-7次,開發者模式開啟
USB調試:開發者選項------>打開USB調試
連接手機:USB/Wifi同一局域網
cmd命令:輸入adb devivces
devices:表示正常
offline:拔插USB即可 模擬器---模擬器升級到最新版本
no devices:驅動
unauthorized:未授權
可能遇到的問題?端口占用 ,檢查端口占用的命令:netstat-ano|findstr “5037”
360、手機助手可能會占用5037的端口,卸載掉
Monkey測試:簡單命令
參數:
1.count 事件數,必填
2.--ignore-crashes:崩潰,閃退
--ignore-timeouts:超時,無響應
如果使用這個參數,發生奔崩潰或者無響應的時候,會結束應用進程,重新打開繼續執行,直到事件次數結束
不使用該參數,發生上述問題,monkey測試賽停止在問題界面--缺乏穩定性測試的意義
adb shell monkey:得到所有monkey的參數
--ignore-security-exceptions :安全認證
忽略測試過程中發生的安全方面的認證等的問題,一旦發生該類的問題后,結束app的進程,或者繼續操作,知道設置的次數完成,一般情況都要用上
怎么固定到具體的app?
-p包名,指定到具體的某一個app
adb shell pm list package -3 獲取用戶安裝的第三方app的包名
adb shell pm list package -s 獲取系統的app包名
確認包名:adb shell dumpsys activity| find “mFocusedActivity”
顯示當前正在使用的app
-s SEED 定義明確的seed
N個seed
每一個seed可能會發N個bug
bug總量會特別多--不利於測試,穩定性驗證
======>要定義唯一seed值,monkey測試賽從頭到尾都用這個seed值
[-v [-v] ... ]:日志的詳細程度 共3個
v越多,日志越詳細
常用命令:
-p 指定包名 com.hpbr.bosszhipin
adb shell monkey -p com.hpbr.bosszhipin 200----> boss直聘App,執行200次的事件操作
-v 輸出日志的級別:-v -v -v 根據項目的質量要求,一般-v -v。華為常用-v -v -v,日志最詳細
adb shell monkey -p com.hpbr.bosszhipin -v 200
adb shell monkey -p com.hpbr.bosszhipin -v --ignore-crashes --ignore-timeouts --ignore-security-exceptions 200
-s seed 數字型的數值
adb shell monkey -p com.hpbr.bosszhipin -v -s 3468 200
【√ 開發復現或者驗證bug能夠以相同的序列進行操作:
事先設定,需要項目開始執行monkey測試時候到monkey測試結束的時候是一致的】
monkey finished 表示monkey完成並沒有發生問題,其他任何狀態都是bug
遇到的問題?
1.monky測試的時候自動退出app賬號了怎么辦?
可以通過其它腳本或者命令來檢測是否退出,如果退出就進行登錄
或者更換seed值,也能達到要求
2.monkey測試可以針對固定步驟或者功能或者模塊進行壓力測試?
不可以,可以采用自動化的方式實現
3.monkey測試的事件次數或者時間多少?
次數:35-36萬次 8-10小時 ,下班執行,早上來看執行結果
工作中Monkey的使用
日志的分析
bug的定位
bug編寫規范
anr日志提取
adb logcat的使用
后續補上。。