Android中如何做Monkey测试

Android中如何做Monkey测试

请表明转载的水源!

钥匙

淘气鬼的引见

淘气鬼是命令行器,可以在模仿者或理论使牢固中运转,运用Android调试桥(ADB)来运转它,向零碎发送伪随机用户事变流,对发展的盘问中止应力测试。,可地基获取的日记人中止回复的。。

猴的根本企图

  1. 衔接使牢固:adb devices 检查使牢固无论成衔接
  2. adb shell 进入壳界间的
  3. 使牢固使成为一部分要运转的例行顺序包或apk(或许经过检查data/data下的例行顺序包):亚行使成为一部分APK:在使成为一部分的APK途径下,运用ADB install **.apk
  4. 使生效monkey测试命令:monkey -p your.package.name -v 500

当使成为一部分的APK的包名不知情时,用ADB命令检查包的命名:

  1. adb logcat|grep START
  2. 翻开已使成为一部分的APK,检查涌现的ActuviyMeor干事人,cmp=name,大概命名是翻开的APK的包名。。

运用淘气鬼命令

-help   列出简略用法

-v      功能:命令行上的每个V将扩张反应人的程度。。
Level0(默许),以及开端、测试抛光和终极出路只暂代他人职务较劣的的人。。
一级,暂代他人职务更有充分细节却无法证实的的测试人,事变人一任一某一接一任一某一地发送到教育活动。
二级,暂代他人职务更多人来设置,像在测试中选择或未选择的教育活动人。
例:
adb shell monkey -v 10
adb shell monkey -v -v 10
adb shell monkey -v -v -v 10

-s 
功能:伪随机数位产生器的种子值。假设再次以同一的人的种子值运转淘气鬼,将产生同一的人的事变序列。。
例: adb shell monkey -s 12345 -v 10 

--throttle 
功能:在事变当中拔出集中:显著地保留时间到底时期(手写本)推延,你可以运用大概设置来慢速的淘气鬼的超速。,假设未指出此参量,事变当中无力的有无论什么延误。,事变将以走得快的超速肉体美。。
例: adb shell monkey –throttle 300 -v 10
注:经用参量,它通常设置为300手写本。,报账是理论用户手感大概300手写本摆布。,所以此处它通常设置为300手写本。。

-p 
功能:假设指出一任一某一或多个履历包,淘气鬼只容许进入这些包打中教育活动。假设盘问必要进入这些包,像选择CONTAC,您必要指出这些包。假设您不指出无论什么包,淘气鬼将容许零碎启动有包的教育活动。。指出多个包,运用多P,-p随后的包名。
例: adb shell monkey -p com.android.browser -v 10 

-c 
功能:假设指出一任一某一或多个类别,淘气鬼只容许零碎启动这些说明书中列出的教育活动。。假设不指出无论什么类别,淘气鬼将选择SLEE类中列出的教育活动,和。指出运用多C的多个类别,每个-C指出一任一某一类别。
例: adb shell monkey -p com.paipai.ershou -v 10 -c 

--pct-touch 
功能:校准触摸事变的百分率。(触摸事变是庇护上的向下的事变。,在庇护上某处按下并推的手感。
例: adb shell monkey –pct-touch 100 -v 10
注:经用参量,此参量设置适合于水流测试的A的手感。,像,盘问80%的手感是触摸。,那就可以将此参量的百分率设置成应和较高的百分率。

--pct-motion 
功能:校准突变事变的百分率。(突变事变是庇护上某处的向下的事变。、搭上伪随机出售事变和起床事变。
例: adb shell monkey –pct-motion 100 -v 10
注:经用参量,要紧的是要保留时间到底,出售事变是垂线滑动。,以下轨迹球突变克制曲线突变。

--ignore-crashes
功能:通常,当产生产生假装或非常时,淘气鬼将中止运转。。假设设置了该项,淘气鬼将持续向零碎发送事变,直到事变计数抛光。

--ignore-timeouts
功能:事变盘问加班费假装淘气鬼的测试。假设设置了该项,淘气鬼将持续向零碎发送事变,直到事变计数抛光。

扣留测试日记真的很简略,命令列举如下:
adb shell monkey -p com.ihongqiqu -v -v -v 500 > monkeytest.txt

淘气鬼测试人

在Monkey测试审阅中可能会涌现顺序使坍塌(CRASH)和顺序无壁联的形势(ANR),获取测试的日记人,处理bug。

CRASH

飞机失事是飞机失事人,顺序运转打中非常掉出。 不克不及疏忽使坍塌,测试审阅中涌现使坍塌,中途夺取测试,显示产生假装人和种子人

本种子值抛光BUG的重现:adb shell monkey -p com.feicuiedu.monkeytestdemo -s 1476474162566 -v 1000

ANR

Applicaton Not 壁联。

同一在monkey测试审阅中,假设在ANR景象,应和的人将被输出。,从ANR开端,处理人成绩,它也可以被种子抄写。。

附:假设在手工操作测试具有某个时代特征的涌现ANR,日记人涌如今出售用电话与交谈中:

  1. adb shell
  2. cd /data/anr 切换到使牢固途径
  3. ls 可以钞票 内心是日记人

MonkeyScript

MunKcript是淘气鬼的手稿程序语言,淘气鬼可以辨别是非的一组命令。,它可以帮忙本人抛光搭上集中:显著地保留时间到底的反复手感。,淘气鬼经过本子测试,简略快捷、不必要无论什么器,刚才一任一某一备忘录,缺陷是在座标系中。、钥匙没逻辑,附加的人。。

本子体式

#头提出、淘气鬼发送音讯的参量把持
type=raw events
count=10
speed=1.0
上面是淘气鬼命令
start data >>
DispatchPress (KEYCODE_HOME)
DispatchPress (KEYCODE_MENU)

盛行API

盛行API的引见,在家keycode会诊键码表

LaunchActivity(pkg_name, cl_name): 启动盘问的教育活动。参量:例行顺序包命名和启动教育活动。

螺丝攻(X), y, tapDuration): 模仿未婚男子手指点击事变。参量:x,Y是一任一某一把持并列的,TopSimult是点击的持续时期,大概参量可以省略。。

DispatchPress(keyName): 线索。参量: keycode

RotateScreen(rotationDegree, 保留时间) 旋转庇护。 参量:旋转度是旋转的角度, e.g. 1代表90度;生命力命令旋转后无论集中:显著地保留时间到底。,0用于旋转后回复,非0是集中:显著地保留时间到底持续性的。。

DispatchFlip(true/false): 翻开或停业柔和的盘。

LongPress(): 2秒长。

PressAndHold(x, y, pressDuration): 模仿长按事变。

DispatchString(input):  输出字母行。

Drag(xStart, yStart, xEnd, yEnd, stepCount): 用于模仿拖放手感。

PinchZoom(x1Start, y1Start, x1End, y1End, x2Start, y2Start, x2End, y2End, stepCount): 模仿缩放征象。

UserWait(sleepTime): 睡一段时期

DeviceWakeUp(): 醒庇护。

PowerLog(power_log_type, test_case_status): 电池功率人的虚构的。

WriteLog(): 将电池人研究SD卡。

RunCmd(cmd): 运转shell命令。

DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFlags):抵达指出安置,发送一任一某一征象。

DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFilags):发送紧固件音讯。

LaunchInstrumentation(test_name,runner_name): 运转器具测试用例。

DispatchTrackball: 模仿迁移轨迹球事变。

ProfileWait: 推迟5秒。

StartCaptureFramerate(): 获取帧速率。

EndCaptureFramerate(input): 完毕帧速率。

API方式打中把持安置(X),Y轴并列的的获取:运用Android暂代他人职务的器

在安卓 在SDK途径下 tools –> ,翻开以显示在使牢固/虚构的器上显示的看待。,显示看待构成和并列的。

简略示例

#头提出、淘气鬼发送音讯的参量把持
type=raw events
count=10
speed=1.0
上面是本子的倒转术
start data >>
1。翻开浏览图书报刊者
LaunchActivity()
ProfileWait()
2。空网址
Tap(223,146)
ProfileWait()
DispatchPress(112)
ProfileWait()
三。输出网址
DispatchString()
ProfileWait()
4。批准,装载量网站
DispatchPress(KEYCODE_ENTER)
ProfileWait()
5。抛光掉出浏览图书报刊者
DispatchPress(KEYCODE_HOME)
ProfileWait()

1。本子抛光后,txt 提出推到用电话与交谈

adb push name.txt path

name指的是淘气鬼本子提出的命名,途径是推到用电话与交谈的途径

2。运转淘气鬼本子

monkey -f path/name.txt -v 500

途径是推进的途径,命名是本子提出的命名。

例理论

MonketTestDemo随机事变流测试:

1. adb devices 检查使牢固无论衔接

2. adb shell 进入壳界间的

3. monkey -p com.feicuiedu.monkeytestdemo -v 500 使生效淘气鬼命令

4. (可选)淘气鬼 -p com.feicuiedu.monkeytestdemo -v 500 > monkeytest.txt 使生效淘气鬼命令,并记忆力淘气鬼日记

随机自发的猴实验。

MonkeyScript对MonkeyTestDemo中止测试:

1. 写戏剧性事件,扣留到必然的途径

2. 切换到途径

3. adb push 履历/地方的/暂时/(使牢固的无论什么途径),无直言的规则)

4. adb shell 切换到使牢固

5. cd /data/local/temp 切换到途径

6. monkey -f -v 10 淘气鬼本子的使生效与使生效次数

单淘气鬼自发的淘气鬼测试的抛光。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Message *
Name*
Email *