Monkey測(cè)試使用指南
環(huán)境準(zhǔn)備
- JDK
- Android SDK
- Python
-
JDK-安裝并配置好環(huán)境變量,測(cè)試JDK正常
$ java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode) -
Android Sdk-安裝好SDK并配置環(huán)境變量,命令行工具位于:SDK_DIR/tools,monkeyrunner位于:SDK_DIR/tools/bin
$ monkeyrunner Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:54:35) [Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.8.0_151 >>> -
Python
$ python Python 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>1. 交互式命令
- 基本語法
adb shell monkey -p your.package.name -v 500
更多參數(shù)參考:http://www.android-doc.com/tools/help/monkey.html
2. Monkey Script
Monkey script 是按照一定的語法規(guī)則編寫有序的用戶事件流并適用于monkey命令工具的腳本
首先編寫腳本文件,保存為monkey_xxx.script,eg:
#Start Script
type = user
count = 49
speed = 1.0
start data >>
LaunchActivity(com.pull2me.cuckooweather,com.pull2me.cuckooweather.activity.MainActivity)
UserWait(5000)
#open cuckooweather
captureDispatchPointer(5109520,5109520,0,1150,330,0,0,0,0,0,0,0);
captureDispatchPointer(5109521,5109521,1,1150,330,0,0,0,0,0,0,0);
UserWait(3000)//1150,330 區(qū)域
#close browser
captureDispatchPointer(5109520,5109520,0,205,31,0,0,0,0,0,0,0);//0代表down
captureDispatchPointer(5109521,5109521,1,205,31,0,0,0,0,0,0,0);//1代表up
UserWait(2000)
然后將腳本上傳到設(shè)備的sdcard中:
$ adb push /Users/xxx/Documents/monkeyscript/monkey_xxx.script /mnt/sdcard/myscript/monkey_xxx.script
通過adb shell monkey命令執(zhí)行腳本,結(jié)果保存到/Users/xxx/Documents/monkeyscript/result/result_xxx.txt中:
$ adb shell monkey -v -v -f /mnt/sdcard/myscript/monkey_xxx.script --throttle 2000 5 > /Users/xxx/Documents/monkeyscript/result/result_xxx.txt
3. Monkeyrunner
monkeyrunner工具提供了Android代碼之外的手段控制Android設(shè)備,你能夠編寫Python程序安裝應(yīng)用或者測(cè)試包,啟動(dòng)運(yùn)行、發(fā)送按鍵事件、截取屏幕視圖并保存。monkeyrunner工具主要被設(shè)計(jì)用來在方法和框架級(jí)別測(cè)試應(yīng)用和設(shè)備,運(yùn)行單元測(cè)試。
monkeyrunner具備以下特點(diǎn):
- 多設(shè)備控制
- 功能測(cè)試
- 回歸測(cè)試
- 可拓展的自動(dòng)化測(cè)試