Monkey测试结果分析[转]

一. 初步分析方法:

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

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

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

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

一般的测试结果分析:

1、 ANR问题:在日志中搜索“ANR”

2、 崩溃问题:在日志中搜索“Exception”

3、ForceClosed 和程序异常退出问题:在日志中搜索”Fatal”

二. 详细分析monkey日志:

将执行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

// Allowing start of Intent {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]cmp=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 代表当前执行了一个点击下导航键的操作;

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

:Sending Pointer ACTION_DOWN x=47.0 y=438.0

:Sending Pointer ACTION_UP x=47.0 y=438.0

Sleeping for 500 milliseconds

:SendKey (ACTION_DOWN): 20 //KEYCODE_DPAD_DOWN

:SendKey (ACTION_UP): 20 //KEYCODE_DPAD_DOWN

Sleeping for 500 milliseconds

:Sending 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测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;// 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 finished

Events injected: 6000代表 测试次数6000

Network stats:代表当前手机状态,elapsed time=808384ms代表总共执行时间

如果要生成日志保存的话,也很简单,只需将monkey命令尾部加上你想生成log文件的路径,例如:

txt文件路径为 d:/xxx.txt

之前的命令:adb shell monkey -p com.bbk.recorder -v 10000

之后的命令:adb shell monkey -p com.bbk.recorder -v 10000 >d:\xxx.txt

这样,跑完monkey之后的log日志就会保存在你的txt文件里了!

原文地址:https://www.cnblogs.com/laoluoits/p/12687176.html

时间: 2024-11-03 19:44:21

Monkey测试结果分析[转]的相关文章

Monkey测试结果分析【转】

转自[http://www.douban.com/note/257030241/] Monkey测试结果分析 一. 初步分析方法: Monkey测试出现错误后,一般的差错步骤为以下几步: 1. 找到是monkey里面的哪个地方出错 2. 查看Monkey里面出错前的一些事件动作,并手动执行该动作 3. 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样 一般的测试结果分析: 1. ANR问题:在日志中搜索“ANR” 2. 崩溃问题:在日志中搜索“Except

Monkey测试结果分析

一. 初步分析方法 Monkey测试出现错误后,一般的差错步骤为以下几步: 1. 找到是monkey里面的哪个地方出错 2. 查看Monkey里面出错前的一些事件动作,并手动执行该动作 3. 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样 一般的测试结果分析: 1. ANR问题:在日志中搜索"ANR". Application Not Response. 2. 崩溃问题:在日志中搜索"Exception"  异常. 二. 详

monkey测试常用命令

一.Monkey测试简介 Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动Trackball.按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常. 二.Monkey程序介绍 1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar: 2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,

android之monkey测试

本文同时发表于本人个人网站 www.yaoxiaowen.com monkey测试算是android自动化测试当中最简单的一种工具了.虽然简单,不过对于测试app的稳定健壮,减少崩溃还是比较有用的.所以建议app可以经常做些monkey测试,下班之后,打开monkey测试,就不用管了,第二天来了查看结果就好. 一:monkey介绍Monkey就是Android的一个命令行工具,是运行在手机里的.(可以模拟器可以真机),它通过向系统发送伪随机的用户事件流(比如手势,按键,触摸屏触摸事件等),来实现

Monkey测试手机BUG重现及解决方法

1.1 Monkey测试简介 Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动Trackball.按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常. 1.2 Monkey程序介绍1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar: 2) Monkey.jar程序是由一个名为"monkey"的Shell

Monkey测试的策略和分析

Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象.目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一apk和apk集合 测试的目的分为:解决问题的测试(忽略异常的测试)和验收测试(不忽略异常的测试) 对于应用程序的稳定性测试有两中情况 在针对单个apk是,对不忽略异常的,在进行单个apk的验收测试时,则使用单一apk且不忽略异常的命令执行.对忽略异常的,在进行单个apk的解决问题的测试时,则使用单一apk且忽略异常的命令执行,这样可以

Android软件测试Monkey测试工具

前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyrunner.benchmark.其它test tool等等.因接触时间很短,很多地方有不足之处,希望能和大家多多交流. 一.  什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试

Monkey源码分析之运行流程

在<MonkeyRunner源码分析之与Android设备通讯方式>中,我们谈及到MonkeyRunner控制目标android设备有多种方法,其中之一就是在目标机器启动一个monkey服务来监听指定的一个端口,然后monkeyrunner再连接上这个端口来发送命令,驱动monkey去完成相应的工作. 当时我们只分析了monkeyrunner这个客户端的代码是怎么实现这一点的,但没有谈monkey那边是如何接受命令,接受到命令又是如何处理的. 所以自己打开源码看了一个晚上,大概有了概念.但今天

安卓测试工具:使用monkey测试

1.Monkey测试是android平台下自动化测试的一种快速有效的手段,通过Monkey工具可以模拟用户触摸屏幕.滑动轨迹球.按键等操作来对模拟器或者手机设备上的软件进行压力测试,检测该软件的稳定性.健壮性.它的原理是向系统发送伪随机的用户事件流(如按键输入.触摸输入.手势输入等),实现对正在开发的应用程序进行压力测试.2.Monkey的基本用法 基本语法如下: $ adb shell monkey [options] 如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送