Monkey测试方法参考模板.doc

上传人:doc321 文档编号:15002696 上传时间:2022-03-03 格式:DOC 页数:30 大小:2.07MB
返回 下载 相关 举报
Monkey测试方法参考模板.doc_第1页
第1页 / 共30页
Monkey测试方法参考模板.doc_第2页
第2页 / 共30页
Monkey测试方法参考模板.doc_第3页
第3页 / 共30页
Monkey测试方法参考模板.doc_第4页
第4页 / 共30页
Monkey测试方法参考模板.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Monkey测试方法参考模板.doc》由会员分享,可在线阅读,更多相关《Monkey测试方法参考模板.doc(30页珍藏版)》请在三一文库上搜索。

1、1. 环境搭建1.1. 软件安装步骤1.1.1. Java Jdk安装1. 安装Java JDK2. 系统变量配置在电脑【属性】【高级系统设置】【环境变量】【系统变量】中设置;JAVA_HOME;PATH;CLASSPATH。JAVA_HOME:输入指明JDK安装路径,没有需新建;PATH:输入%JAVA_HOME%bin;%JAVA_HOME%jrebin,没有PATH则新建,有则编辑,添加上述值;PATH使得系统可以在任何路径下识别java命令;CLASSPATH:%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar; 没有此环境变量需新增,有则编辑,添

2、加上述值;为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别3. 验证Java Jdk环境变量配置成功与否;“开始”;“运行”,键入“cmd”;输入命令“java -version”,“java”,“javac”几个命令,出现画面,说明环境变量配置成功;1 / 301.1.2. Android SDK1. 下载最新的Android SDK;2. 解压Android SDK文件,里面有两个应用程序: “SDK Manager.exe”(负责下载或更新SDK包) 和 AVD Manager.exe(负责创建管理虚拟机)。我们先运行“SDK Mana

3、ger.exe”进行SDK下载。3. 运行后出现下面的界面,我们选择自己想安装的 Android 版本,我选择了最新版本,然后点击“Install X packages”安装。4. 在新出现的界面上,选择接受并遵守所有许可内容(Accept All),再点击 “Install”。* Android SDK 管理器就开始下载并安装你所选的包了,等待下载完成。1.2. 连接真机调试1.2.1. 设备设置1. 测试真机需要进行root处理,获取root权限;使用360一键root工具;2. 设置手机,开发者模式,启动【开发者选项】中开启开发者选项,启动USB调试;3. 使用USB数据线连接测试机;4

4、. 确认设备连接正确2. App性能测试2.1. 启动控制台启动CMD控制台。2.2. 启动adb2.2.1. 启动adb工具在CMD控制台中,进入adb程序所在路径,使用:adb version命令可以查看当前adb版本。2.2.2. 查看版本在adb目录下,使用:adb version 命令查看adb当前版本,如下图;2.2.3. 查看设备列表在adb目录下,使用:adb devices 命令查看设备列表2.3. 启动adb shell2.3.1. 启动adb shell在adb目录下,使用:adb shell 命令启动adb shell2.3.2. unknown host servic

5、e异常排除如果在启动adb shell时,出现“failed to start daemon *error: unknown host service”错误,是由于测试PC的5037端口被占用了,在CMD控制台中“netstat -aon|findstr 5037”查找占用5037端口的进程ID,关闭该进程;或者使用“tasklist /fi pid eq 2244”命令关闭进程。2.3.3. more than one device/emulator异常排除如果在启动adb shell时,出现“error: more than one device/emulator”错误,是由于连接了多个设

6、备或者模拟器导致,进行测试时,需要指定设备,使用 s 参数;Adb s 022NQS145L001556 shell2.3.4. 查看设备Data目录下的包名在adb shell下使用:su 命令获取root权限,后再使用:# ls data/data 命令,连接设备Data目录下的包名。2.4. 进行monkey测试2.4.1. 进行monkey测试明确要测试的包名后,在进入root权限后使用:# monkey -p com.android.calculator2 -v 500;将其中com.android.calculator2替换为要测试的目标即可。*如果要将测试Log导出到计算机,需要

7、在adb目录下直接输入命令开始测试,在原始测试命令后追加用于存放测试Log的目录及文件名称,例:如“e:log.txt”;Adb shell monkey p com.yuxuan.dancing v 200 e:log.txt测试结果Log会被存放在e:log.tx中2.4.2. Adb shell参数设置2.4.2.1. 参数:-p参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。* 指定一个包: adb shell monkey -p com.htc

8、.Weather 100说明:com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。* 指定多个包:adb shell monkey -p com.htc.Weather p com.htc.pdfreader -p com.htc.photo.widgets 100* 不指定包:adb shell monkey 100说明:Monkey随机启动APP并发送100个随机事件。* 要查看设备中所有的包,在CMD窗口中执行以下命令: adb shell #cd data/data #ls2.4.2.2. 参数:-v用于指定反馈信息级别(信息级别就是

9、日志的详细程度),总共分3个级别,分别对应的参数如下表所示:1. 日志级别 Level 0 示例 adb shell monkey -p com.htc.Weather v 100说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息;2. 日志级别 Level 1示例 adb shell monkey -p com.htc.Weather v -v 100说明 提供较为详细的日志,包括每个发送到Activity的事件信息;3. 日志级别 Level 2示例 adb shell monkey -p com.htc.Weather v -v v 100说明 最详细的日志,包括了测试中选中/未

10、选中的Activity信息;2.4.2.3. 参数:-s用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。* 示例:Monkey测试1:adb shell monkey -p com.htc.Weather s 10 100Monkey 测试2:adb shell monkey -p com.htc.Weather s 10 100两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列

11、是完全相同的,所以这个操作序列伪随机的;2.4.2.4. 参数:-throttle 用于指定用户操作(即事件)间的时延,单位是毫秒;* 示例:adb shell monkey -p com.htc.Weather throttle 3000 1002.4.2.5. 参数:-ignore-crashes用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。* 示例1:adb shell monkey -p com.htc.Weather -ignore-crashes 1000;测试过

12、程中即使Weather程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止;* 示例2:adb shell monkey -p com.htc.Weather 1000;测试过程中,如果Weather程序崩溃,Monkey将会停止运行。2.4.2.6. 参数:-ignore-timeouts用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。2.4.2.7. 参数:-ignore-security-exceptions用于指定

13、当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。2.4.2.8. 参数:-kill-process-after-error用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。2.4.2.9. 参数:-monitor-native-crashes用于指定是否监视并报告应用程序发生崩溃的本地代码。2.4.2.10. 参数:-pct-+事件类别

14、 +事件类别百分比用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)参数:使用说明:示例:-pct-touch +百分比;调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置);adb shell monkey -p com.htc.Weather -pct-touch 10 1000-pct-motion +百分比;调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成);adb shell monkey -p com.htc.Weather -pct-motion 20 1

15、000-pct-trackball +百分比;调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击);adb shell monkey -p com.htc.Weather -pct-trackball 30 1000-pct-nav +百分比;调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成);adb shell monkey -p com.htc.Weather -pct-nav 40 1000-pct-majornav +百分比;调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的

16、中间按键、回退按键、菜单按键);adb shell monkey -p com.htc.Weather -pct-majornav 50 1000-pct-syskeys +百分比;调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键);adb shell monkey -p com.htc.Weather -pct-syskeys 60 1000-pct-appswitch +百分比;调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全

17、部Activity的一种方法;adb shell monkey -p com.htc.Weather -pct-appswitch 70 1000-pct-anyevent +百分比;调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等;adb shell monkey -p com.htc.Weather-pct -anyevent 100 1000* 指定多个类型事件的百分比;adb shell monkey -p com.htc.Weather -pct-anyevent 50 -pct-appswitch 50 1000*注意:各事件类型的百分比总

18、数不能超过100%;3. Monkey测试结果分析3.1. 测试Log导出需要将测试Log导出到计算机时,需要在在adb目录下,进行monkey测试,在adb目录下输入测试命令,在原始测试命令后追加用于存放测试Log的目录及文件名称,例如:“e:log.txt”;Adb shell monkey p com.yuxuan.dancing v 200 e:log.txt3.2. 测试结果分析3.2.1. 初步分析Monkey测试出现错误后,一般的差错步骤为以下几步:1、 找到是monkey里面的哪个地方出错2、 查看Monkey里面出错前的一些事件动作,并手动执行该动作3、 若以上步骤还不能找出

19、,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样一般的测试结果分析:1、 ANR问题:在日志中搜索“ANR”2、 奔溃问题:搜索“Crash”2、 异常问题:在日志中搜索“Exception”3.2.2. 详细分析将执行Monkey生成的log,从手机中导出并打开查看该log;在log的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。首先我们需要查看Monkey测试中是否出现了ANR或者异常,具体方法如上述。然后我们要分析log中的具体信息,方法如下:查看log中第一个Switch,主要是查看Monkey执行的是那一个Activity,譬如下面的log中,

20、执行的是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/ Allowing start of Intent act=android.intent.action.MA

21、IN cat=android.intent.category.LAUNCHERcmp=com.tencent.smtt/.SplashActivity in package com.tencent.smtt在下面的log中,Sending Pointer ACTION_DOWN和Sending Pointer ACTION_UP代表当前执行了一个单击的操作;Sleeping for 500 milliseconds这句log是执行Monkey测试时,throttle设定的间隔时间,每出现一次,就代表一个事件。SendKey(ACTION_DOWN) /KEYCODE_DPAD_DOWN 代表当

22、前执行了一个点击下导航键的操作;Sending Pointer ACTION_MOVE 代表当前执行了一个滑动界面的操作。:Sending Pointer ACTION_DOWN x=47.0 y=438.0:Sending Pointer ACTION_UP x=47.0 y=438.0Sleeping for 500 milliseconds:SendKey (ACTION_DOWN): 20 /KEYCODE_DPAD_DOWN:SendKey (ACTION_UP): 20 /KEYCODE_DPAD_DOWNSleeping for 500 milliseconds:Sending

23、Pointer ACTION_MOVE x=-2.0 y=3.0:Sending Pointer ACTION_MOVE x=4.0 y=-3.0:Sending Pointer ACTION_MOVE x=-5.0 y=-3.0:Sending Pointer ACTION_MOVE x=3.0 y=4.0:Sending Pointer ACTION_MOVE x=-4.0 y=1.0:Sending Pointer ACTION_MOVE x=-1.0 y=-1.0:Sending Pointer ACTION_MOVE x=-2.0 y=-4.0如果Monkey测试顺利执行完成,在lo

24、g的最后,会打印出当前执行事件的次数和所花费的时间;/ Monkey finished代表执行完成。Monkey执行中断,在log的最后也能查看到当前已执行的次数。Monkey执行完成的log具体如下:Events injected: 6000:Dropped: keys=0 pointers=9 trackballs=0 flips=0# Network stats: elapsed time=808384ms (0ms mobile, 808384ms wifi, 0msnot connected)/ Monkey finished3.2.3. Log时间标识Monkey测试Log中标识操

25、作的具体时间使用calendar_time:标识Calendar_time4. Android设备性能监视4.1. 环境搭建测试设备安装腾讯GT工具,直接安装GT_2.2.6.5.apk。安装 GT(GT.apk)后,不需要连接 PC 和在被测应用中插入代码,即可通过 GT 快速方便地进行基本性能测试。GT 支持获取手机整机的:CPU,内存,帧率(FPS,Android4.x 版本需在开发者选项中勾选“禁用硬件叠加”后,才能得到准确的帧率数值,见注 1),流量(WIFI/3G/2G),信号强度,电流电量(有限机型支持);单个应用(支持多进程的应用)的 CPU,内存(PSS/PrivateDir

26、ty),流量信息。4.2. 腾讯GT工具配置4.2.1. 选择测试目标App按照下图操作,选择要测试的目标App4.2.2. 设置关注的性能参数PSS:系统内存CPU:设备CPUNET:使用流量4.2.3. 启动应用程序,设置监视的性能指标点击启动按钮启动App,然后返回GT界面,设置要监视的性能指标,进入【参数】界面及【编辑】界面,选择要监视的性能指标;4.2.4. 设置悬浮窗实时显示指标在【参数】_【编辑】界面,设置悬浮窗口中实时显示的性能指标,此项设置非必须。设置保存历史记录的性能指标在【参数】界面,设置需要历史数据的性能指标;4.3. 测试4.3.1. 开始/停止监控性能指标并收集数据参数、指标设置完成后,点击,开始收集数据。测试完成后点击,停止收集数据。4.3.2. 查看测试数据及保存腾讯GT能够查看实时测试数据;测试完成后,保存测试数据;4.3.3. 测试数据导出4.4. 与Android Monkey测试同步启动GT性能数据收集后,启动Android Monkey测试,同步进行。

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1