Monkey测试方法Word文件下载.docx

上传人:b****3 文档编号:17013165 上传时间:2022-11-27 格式:DOCX 页数:18 大小:1.95MB
下载 相关 举报
Monkey测试方法Word文件下载.docx_第1页
第1页 / 共18页
Monkey测试方法Word文件下载.docx_第2页
第2页 / 共18页
Monkey测试方法Word文件下载.docx_第3页
第3页 / 共18页
Monkey测试方法Word文件下载.docx_第4页
第4页 / 共18页
Monkey测试方法Word文件下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Monkey测试方法Word文件下载.docx

《Monkey测试方法Word文件下载.docx》由会员分享,可在线阅读,更多相关《Monkey测试方法Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

Monkey测试方法Word文件下载.docx

2.解压AndroidSDK文件,里面有两个应用程序:

“SDKManager.exe”(负责下载或更新SDK包)和"

AVDManager.exe"

(负责创建管理虚拟机)。

我们先运行“SDKManager.exe”进行SDK下载。

3.运行后出现下面的界面,我们选择自己想安装的Android版本,我选择了最新版本,然后点击“InstallXpackages”安装。

4.在新出现的界面上,选择接受并遵守所有许可内容(AcceptAll),再点击“Install”。

*AndroidSDK管理器就开始下载并安装你所选的包了,等待下载完成。

连接真机调试

设备设置

1.测试真机需要进行root处理,获取root权限;

使用360一键root工具;

2.设置手机,开发者模式,启动【开发者选项】中[开启开发者选项],启动[USB调试];

3.使用USB数据线连接测试机;

4.确认设备连接正确

 

3.App性能测试

启动控制台

启动CMD控制台。

启动adb

启动adb工具

在CMD控制台中,进入adb程序所在路径,使用:

adbversion命令可以查看当前adb版本。

查看版本

在adb目录下,使用:

adbversion命令查看adb当前版本,如下图;

查看设备列表

adbdevices命令查看设备列表

启动adbshell

adbshell命令启动adbshell

unknownhostservice异常排除

如果在启动adbshell时,出现“failedtostartdaemon*

error:

unknownhostservice”错误,是由于测试PC的5037端口被占用了,在CMD控制台中“netstat-aon|findstr"

5037"

”查找占用5037端口的进程ID,关闭该进程;

或者使用“tasklist/fi"

pideq2244”命令关闭进程。

morethanonedevice/emulator异常排除

如果在启动adbshell时,出现“error:

morethanonedevice/emulator”错误,是由于连接了多个设备或者模拟器导致,进行测试时,需要指定设备,使用–s参数;

Adb–s022NQS145L001556shell

查看设备Data目录下的包名

在adbshell下使用:

su命令获取root权限,后再使用:

#lsdata/data命令,连接设备Data目录下的包名。

进行monkey测试

明确要测试的包名后,在进入root权限后使用:

#monkey-pcom.android.calculator2-v500;

将其中[com.android.calculator2]替换为要测试的目标即可。

*如果要将测试Log导出到计算机,需要在adb目录下直接输入命令开始测试,在原始测试命令后追加用于存放测试Log的目录及文件名称,例:

如“>

e:

\log.txt”;

Adbshellmonkey–pcom.yuxuan.dancing–v200>

\log.txt

测试结果Log会被存放在e:

\log.tx中

Adbshell参数设置

参数:

-p

参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。

指定包之后,Monkey将只允许系统启动指定的APP。

如果不指定包,Monkey将允许系统启动设备中的所有APP。

*指定一个包:

adbshellmonkey-pcom.htc.Weather100

说明:

com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。

*指定多个包:

adbshellmonkey-pcom.htc.Weather–pcom.htc.pdfreader-pcom.htc.photo.widgets100

*不指定包:

adbshellmonkey100

 说明:

Monkey随机启动APP并发送100个随机事件。

*要查看设备中所有的包,在CMD窗口中执行以下命令:

>

adbshell

#cddata/data

#ls

-v

用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:

1.日志级别Level0

示例adbshellmonkey-pcom.htc.Weather–v100

说明缺省值,仅提供启动提示、测试完成和最终结果等少量信息;

2.日志级别Level1

示例adbshellmonkey-pcom.htc.Weather–v-v100

说明提供较为详细的日志,包括每个发送到Activity的事件信息;

3.日志级别Level2

示例adbshellmonkey-pcom.htc.Weather–v-v–v100

说明最详细的日志,包括了测试中选中/未选中的Activity信息;

-s

用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

*示例:

Monkey测试1:

adbshellmonkey-pcom.htc.Weather–s10100

Monkey测试2:

两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。

操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的;

-throttle<

毫秒>

用于指定用户操作(即事件)间的时延,单位是毫秒;

adbshellmonkey-pcom.htc.Weather–throttle3000100

--ignore-crashes

用于指定当应用程序崩溃时(Force&

Close错误),Monkey是否停止运行。

如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。

*示例1:

adbshellmonkey-pcom.htc.Weather--ignore-crashes1000;

测试过程中即使Weather程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止;

*示例2:

adbshellmonkey-pcom.htc.Weather1000;

测试过程中,如果Weather程序崩溃,Monkey将会停止运行。

--ignore-timeouts

用于指定当应用程序发生ANR(ApplicationNoResponding)错误时,Monkey是否停止运行。

如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。

--ignore-security-exceptions

用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。

如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。

--kill-process-after-error

用于指定当应用程序发生错误时,是否停止其运行。

如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:

应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。

--monitor-native-crashes

用于指定是否监视并报告应用程序发生崩溃的本地代码。

--pct-{+事件类别}{+事件类别百分比}

用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)

参数:

使用说明:

示例:

--pct-touch{+百分比};

调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置);

adbshellmonkey-pcom.htc.Weather--pct-touch101000

--pct-motion{+百分比};

调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成);

adbshellmonkey-pcom.htc.Weather--pct-motion201000

--pct-trackball{+百分比};

调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击);

adbshellmonkey-pcom.htc.Weather--pct-trackball301000

--pct-nav{+百分比};

调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成);

adbshellmonkey-pcom.htc.Weather--pct-nav401000

--pct-majornav{+百分比};

调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:

5-way键盘的中间按键、回退按键、菜单按键);

adbshellmonkey-pcom.htc.Weather--pct-majornav501000

--pct-syskeys{+百分比};

调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、StartCall、EndCall及音量控制键);

adbshellmonkey-pcom.htc.Weather--pct-syskeys601000

--pct-appswitch{+百分比};

调整启动Activity的百分比。

在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法;

adbshellmonkey-pcom.htc.Weather--pct-appswitch701000

--pct-anyevent{+百分比};

调整其它类型事件的百分比。

它包罗了所有其它类型的事件,如:

按键、其它不常用的设备按钮、等等;

adbshellmonkey-pcom.htc.Weather

--pct-anyevent1001000*指定多个类型事件的百分比;

adbshellmonkey-pcom.htc.Weather--pct-anyevent50--pct-appswitch501000

*注意:

各事件类型的百分比总数不能超过100%;

4.Monkey测试结果分析

测试Log导出

需要将测试Log导出到计算机时,需要在在adb目录下,进行monkey测试,在adb目录下输入测试命令,在原始测试命令后追加用于存放测试Log的目录及文件名称,例如:

“>

测试结果分析

初步分析

Monkey测试出现错误后,一般的差错步骤为以下几步:

1、找到是monkey里面的哪个地方出错

2、查看Monkey里面出错前的一些事件动作,并手动执行该动作

3、若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样

一般的测试结果分析:

1、ANR问题:

在日志中搜索“ANR”

2、奔溃问题:

搜索“Crash”

2、异常问题:

在日志中搜索“Exception”

详细分析

将执行Monkey生成的log,从手机中导出并打开查看该log;

在log的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。

首先我们需要查看Monkey测试中是否出现了ANR或者异常,具体方法如上述。

然后我们要分析log中的具体信息,方法如下:

查看log中第一个Switch,主要是查看Monkey执行的是那一个Activity,譬如下面的log中,执行的是com.tencent.smtt.SplashActivity,在下一个swtich之间的,如果出现了崩溃或其他异常,可以在该Activity中查找问题的所在。

:

Switch:

#Intent;

action=android.intent.action.MAIN;

category=android.intent.category.LAUNCHER;

launchFlags=0x10000000;

component=com.tencent.smtt/.SplashActivity;

end

//AllowingstartofIntent{act=android.intent.action.MAINcat=[android.intent.category.LAUNCHER]cmp=com.tencent.smtt/.SplashActivity}inpackagecom.tencent.smtt

在下面的log中,SendingPointerACTION_DOWN和SendingPointerACTION_UP代表当前执行了一个单击的操作;

Sleepingfor500milliseconds这句log是执行Monkey测试时,throttle设定的间隔时间,每出现一次,就代表一个事件。

SendKey(ACTION_DOWN)//KEYCODE_DPAD_DOWN代表当前执行了一个点击下导航键的操作;

SendingPointerACTION_MOVE代表当前执行了一个滑动界面的操作。

SendingPointerACTION_DOWNx=47.0y=438.0

SendingPointerACTION_UPx=47.0y=438.0

Sleepingfor500milliseconds

SendKey(ACTION_DOWN):

20//KEYCODE_DPAD_DOWN

SendKey(ACTION_UP):

SendingPointerACTION_MOVEx=-2.0y=3.0

SendingPointerACTION_MOVEx=4.0y=-3.0

SendingPointerACTION_MOVEx=-5.0y=-3.0

SendingPointerACTION_MOVEx=3.0y=4.0

SendingPointerACTION_MOVEx=-4.0y=1.0

SendingPointerACTION_MOVEx=-1.0y=-1.0

SendingPointerACTION_MOVEx=-2.0y=-4.0

如果Monkey测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;

//Monkeyfinished代表执行完成。

Monkey执行中断,在log的最后也能查看到当前已执行的次数。

Monkey执行完成的log具体如下:

Eventsinjected:

6000

Dropped:

keys=0pointers=9trackballs=0flips=0

##Networkstats:

elapsedtime=808384ms(0msmobile,808384mswifi,0msnotconnected)

//Monkeyfinished

Log时间标识

Monkey测试Log中标识操作的具体时间使用[calendar_time:

]标识

Calendar_time

5.Android设备性能监视

环境搭建

测试设备安装腾讯GT工具,直接安装GT_2.2.6.5.apk。

安装GT(GT.apk)后,不需要连接PC和在被测应用中插入代码,即可通过GT快速方便地进行基本性能测试。

GT支持获取手机整机的:

CPU,内存,帧率(FPS,Android4.x版本需在开发者选项中勾选“禁用硬件叠加”后,才能得到准确的帧率数值,见注1),流量(WIFI/3G/2G),信号强度,电流电量(有限机型支持);

单个应用(支持多进程的应用)的CPU,内存(PSS/PrivateDirty),流量信息。

腾讯GT工具配置

选择测试目标App

按照下图操作,选择要测试的目标App

设置关注的性能参数

PSS:

系统内存

CPU:

设备CPU

NET:

使用流量

启动应用程序,设置监视的性能指标

点击[启动]按钮启动App,然后返回GT界面,设置要监视的性能指标,

进入【参数】界面及【编辑】界面,选择要监视的性能指标;

设置悬浮窗实时显示指标

在【参数】_【编辑】界面,设置悬浮窗口中实时显示的性能指标,此项设置非必须。

设置保存历史记录的性能指标

在【参数】界面,设置需要历史数据的性能指标;

测试

开始/停止监控性能指标并收集数据

参数、指标设置完成后,点击

,开始收集数据。

测试完成后点击

,停止收集数据。

查看测试数据及保存

腾讯GT能够查看实时测试数据;

测试完成后,保存测试数据;

测试数据导出

与AndroidMonkey测试同步

启动GT性能数据收集后,启动AndroidMonkey测试,同步进行。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1