移动测试基础 [转载] Android Monkey 测试结果分析

恒温 · 2014年03月20日 · 1021 次阅读

原文来自:http://www.douban.com/note/257030241/

初步分析方法

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

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

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

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

一般的测试结果分析:

  1. ANR 问题:在日志中搜索 ANR

  2. 崩溃问题:在日志中搜索 Exception

详细分析 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_DOWNSending 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, 0ms not connected)

// Monkey finished
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册