@echo off
adb root
adb remount
adb push busybox system/xbin
adb shell chmod 755 system/xbin/busybox
::==============配置monkey参数==================
set touch=50
set motion=15
set trackball=0
set nav=0
set majornav=0
set syskeys=5
set appswitch=10
set flip=0
set anyevent=0
set seed=%random%
::set seed=26755
set THR=300
set count=120000000
set "level=-vvv"
set "IgnoreCrashContent=--ignore-crashes --ignore-timeouts --ignore-security-exceptions"
::============依次设置app的package==============
set "app1=com.android.contacts"
set "app2= "
set "app3= "
set "app4= "
set "app5=com.android.settings"
set "app6=com.android.camera"
set "app7=com.android.mms"
set "app8=com.android.gallery"
set "app9= "
set "appA=com.android.alarmclock"
set "appB= "
set "appC= "
set "appD= "
set "appE= "
set "appF= "
set "appG=com.android.music"
set "appH=com.android.phone"
set "appI= "
set "appJ= "
set "appK="
set "appL="
set "appM="
set "appN="
set "appO="
set "appZ= "
::==============================================
set "LogSaveAs="
set "NeedMemInfo="
set "NeedBugReports="
set "IgnoreCrash="
set /p iLog=请确定Log保存位置, "1" 表示保存到电脑, "回车" 保存到手机:
if "%iLog%"=="1" (set "LogSaveAs=SaveAsPC") else set "LogSaveAs=SaveAsPhone"
echo %LogSaveAs%
echo.
set /p iMem=需要输出剩余内存数据吗? "1" 表示输出到电脑,"回车" 不输出:
if "%iMem%"=="1" (set "NeedMemInfo=start") else set "NeedMemInfo=::start"
echo.
set /p iBugReports=需要输出BugReports吗? "1" 表示输出到电脑,"回车" 不输出:
if "%iBugReports%"=="1" (set "NeedBugReports=start") else set "NeedBugReports=::start"
echo.
set /p iIgnoreCrash=忽略Crash和TimeOuts吗? "1" 表示忽略,"回车" 表示遇到crash就停止:
if "%iIgnoreCrash%"=="1" (set "IgnoreCrash=%IgnoreCrashContent%") else set "IgnoreCrash="
echo.
echo ==============================================================
echo 请选择要测试的模块序号,然后按回车
echo ==============================================================
echo.
echo 1.联系人 2.浏览器 3.XXXX
echo.
echo 4.日历 5.设置和应用管理 6.相机
echo.
echo 7.MMS 8.图片和视频 9.XXXX
echo.
echo A.闹钟 B.地图 C.systemui
echo.
echo D.XXXXX E.homeshell F.计算器
echo.
echo G.音乐 H.通话 I.文件浏览器
echo.
echo Z.自定义 0.整机测试
echo.
echo Q.退出
echo.
:cho
set choice=
set /p choice= 请选择:
IF NOT "%choice%"=="" SET choice=%choice:~0,1%
if /i "%choice%"=="0" goto wholephone
if /i "%choice%"=="1" goto ToRunApp
if /i "%choice%"=="2" goto ToRunApp
if /i "%choice%"=="3" goto ToRunApp
if /i "%choice%"=="4" goto ToRunApp
if /i "%choice%"=="5" goto ToRunApp
if /i "%choice%"=="6" goto ToRunApp
if /i "%choice%"=="7" goto ToRunApp
if /i "%choice%"=="8" goto ToRunApp
if /i "%choice%"=="9" goto ToRunApp
if /i "%choice%"=="A" goto ToRunApp
if /i "%choice%"=="B" goto ToRunApp
if /i "%choice%"=="C" goto ToRunApp
if /i "%choice%"=="D" goto ToRunApp
if /i "%choice%"=="E" goto ToRunApp
if /i "%choice%"=="F" goto ToRunApp
if /i "%choice%"=="G" goto ToRunApp
if /i "%choice%"=="H" goto ToRunApp
if /i "%choice%"=="I" goto ToRunApp
if /i "%choice%"=="Z" goto ToRunApp
if /i "%choice%"=="Q" goto tocmd
echo 选择无效,请重新输入
echo.
goto cho
cmd
:wholephone
start GetLog.bat
%NeedBugReports% BugReports.bat
%NeedMemInfo% FreeMem.bat
echo %date% %time% >test_time.log
adb shell monkey --pct-touch %touch% %IgnoreCrash% --pct-motion %motion% --pct-trackball %trackball% --pct-nav %nav% --pct-majornav %majornav% --pct-syskeys %syskeys% --pct-appswitch %appswitch% --pct-anyevent %anyevent% -s %seed% %level% --throttle %THR% %count% |tee MonkeyTraceLog.log
goto tocmd
:ToRunApp
start GetLog.bat
%NeedBugReports% BugReports.bat
%NeedMemInfo% FreeMem.bat
echo %date% %time% >test_time.log
Setlocal EnableDelayedExpansion
adb shell monkey -p !app%choice%! %IgnoreCrash% --pct-touch %touch% --pct-motion %motion% --pct-trackball %trackball% --pct-nav %nav% --pct-majornav %majornav% --pct-syskeys %syskeys% --pct-appswitch %appswitch% --pct-anyevent %anyevent% -s %seed% %level% --throttle %THR% %count% |tee MonkeyTraceLog.log
goto tocmd
:tocmd
echo %date% %time% >>test_time.log
cmd
::======================Help========================
::[--pct-touch PERCENT] -------->0
::[--pct-motion PERCENT] -------->1
::[--pct-trackball PERCENT] -------->2
::[--pct-nav PERCENT] -------->3
::[--pct-majornav PERCENT] -------->4
::[--pct-syskeysPERCENT] -------->5
::[--pct-appswitch PERCENT] -------->6
::[--pct-flip PERCENT] -------->7
::[--pct-anyevent PERCENT] -------->8
::-p 指定package
:: --pkg-blacklist-file /sdcard/blacklist.txt
::-v 信息级别
::-s seed值
::--throttle<毫秒> 事件间的时延
::--ignore-crashes 此参数跳过程序crash,(Force&Close错误)
::--ignore-timeouts 跳过ANR错误,(Application No Responding)
::--ignore-security-exceptions 跳过许可错误,如许可证书,网络许可
::--kill-process-after-error app发生错误时,停止运行并保持在当前状态,不会结束进程
::--monitor-native-crashes 指定是否监视并报告应用程序崩溃的本地代码
::--pct-{+事件类别} {+事件类别百分比} 指定每种类别时间的数目百分比
::--pct-touch {+百分比} 调整触摸事件的百分比,down-up事件
::--pct-motion {+百分比} 调整动作事件的百分比,down事件、一系列伪随机事件和一个up事件组成
::--pct-trackball {+百分比} 调整轨迹事件的百分比,一个或几个随机的移动组成,有时伴随有点击
::--pct-nav {+百分比} 调整基本导航事件的百分比,导航事件由来自方向输入设备的up/down/left/right组成
::--pct-majornav {+百分比} 调整主要导航事件的百分比,导航事件通常引发图形界面中的动作,如5-way键盘的中间按键、回退按键、菜单按键
::--pct-syskeys {+百分比} 调整系统按键事件的百分比,这些按键通常被保留,由系统使用,如Home,Back,StartCall,EndCall,音量控制键
::--pct-appswitch {+百分比} 调整启动Activity的百分比,在随机间隔里,Monkey将执行一个startActivity()的调用,作为最大程度覆盖包中全部Activity的一种方法
::--pct-anyevent {+百分比} 调整其他类型事件的百分比,包括所有其他类型的事件,如按键,其他不常用的设备按钮等等
::--pct-anyevent 100 1000* 指定多个类型事件的百分比,各事件类型百分比不能超过100%
:: adb shell monkey -p com.htc.weather --pct-anyevent 50 --pct-appswitch 50 1000
::--pct-flip
::===================================================
StartMonkeyTest.bat
最新推荐文章于 2021-08-03 16:02:11 发布