monkey–穩定性測試
因爲實體機要root權限,所以我用模擬器來測試
操作步驟
- 先打開模擬器(之前的文章有介紹)
- 先安裝被測軟件到模擬器(adb install -r 安裝包)
- 查看包名(adb shell 進入shell界面 --> ls data/data 查看應用程序包)
- 輸入命令
- monkey -p 程序包名 -v 1000 (shell界面命令)
如:monkey -p com.android.calculator -v 1000 (-p是指定包,-v是日誌級別,1000是指注入多少次事件)
-v:可以有1–3個,越多打印的信息越詳細 - adb shell monkey -p com.android.calculator -s 10 -v 1000 (window命令)
-s 指定seed值 -v 反饋信息級別 -p 指定包 - adb shell monkey -p com.android.calculator -s 10 -v 1000 > C:\monkey\test1.txt 保存日誌
常用的命令
- 指定包測試
adb shell monkey -p 包名 --throttle 500 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -vvv 10000 > C:\monkey\test1.txt - 指定activity執行
- 啓動APP
adb shell am start com.android.calendar - 查看包有哪些activity
adb shell dumpsys package 包名 >C:\monkey\test1.txt
如:adb shell dumpsys package com.android.calendar >C:\monkey\test21.txt
- 啓動activity
adb shell am start 包名/Activity名
- 指定activity執行
adb shell monkey -p 包名/Activity名 --throttle 500 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -vvv 10000 > C:\monkey\test221.txt
常用命令參數
- -p 可以指定一個/多個包(如:adb shell monkey -p 包名1 -p 包名2 100)
- –throttle 設置隨機事件之間的延,單位爲毫秒(如:adb shell monkey -p 包名 --throttle 3000 100)
- -s 指定僞隨機數生成器的seed數,如果seed值相同,則測試的隨機事件序列相同(重現問題用這個)
- –pct-touch --觸屏事件佔比 (如:adb shell monkey --pct-touch 50 -p 包名 100 隨機事件中觸屏佔比50%)
- –pct-motion --滑動事件佔比
- –pct-trackball --隨機移動和單擊事件佔比
- –pct-nav --向上、向下、向左、向右事件佔比
- –pct-majornav --主要導航事件佔比 (如:Back鍵、Menu鍵)
- –pct-syskeys --設備系統按鍵佔比
- –pct-appswitch --啓動活動(activity)佔比,控制測試涉及到多少的活動
- –pct-anyevent --普通按鍵消息、不常用的按鈕消息佔比
- –ignore-crashes --不管應用是否奔潰
- –ignore-timeouts --測試過程出現ANR(Application not responding),也不管
- –ignore-security-exceptions —不管證書/網絡許可錯誤
- –kill-process-after-error --出錯停止
- –monitor-native-crashes --報告安卓的奔潰事件
不記得摘自哪裏的了,放在這裏學習學習
Monkey:Android SDK自帶的一個命令行工具,使用adb來運行它,向系統發送僞隨機的用戶事件流,如按鍵、觸屏、輸入等;實現對正在開發的應用程序進行壓力測試,伴隨着日誌輸出。實際上該工具只能做程序做一些壓力測試,由於測試事件和數據都是隨機的,不能自定義,所以有很大的侷限性。
MonkeyRunner:Android SDK提供的測試工具,位於tools目錄下,比Monkey強大,可以編寫腳本來自定義數據,事件;但是腳本是採用python語言編寫的,其實就是對python進行了封裝,對測試人員要求較高。
Appium:這應該是最近很火的一個測試框架,支持Native APP,Hybird APP,Web APP;可以跨平臺在Windows,Mac,Linux使用,支持Android,ios;支持java,js,php,Python等語言編寫測試腳本