Monkey测试3——Monkey测试结果分析

Monkey测试结果分析 一. 初步分析方法: 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_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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

android优化之省电

Android程序中耗电最多的地方在以下几个方面 : 1、 大数据量的传输。 2、 不停的在网络间切换。 3、 解析大量的文本数据。 那么我们怎么样来改...

19810
来自专栏猿天地

Spring Cloud Gateway 限流操作

API网关作为所有请求的入口,请求量大,我们可以通过对并发访问的请求进行限速来保护系统的可用性。

2594
来自专栏杨建荣的学习笔记

11g备库无法开启ADG的原因分析 (r7笔记第62天)

今天碰到一个有些奇怪的问题,但是奇怪的现象背后都是有本质的因果。 下午在做一个环境的检查时,发现备库是在mount阶段,这可是一个11gR2的库,没有ADG实在...

3924
来自专栏BaronTalk

Android WebView那些坑之上传文件

最近公司项目需要在WebView上调用手机系统相册来上传图片,开发过程中发现在很多机器上无法正常唤起系统相册来选择图片。 解决问题之前我们先来说说WebVie...

3736
来自专栏jianhuicode

如何编写基于Android的AccessibilityService的自动打卡

第一节 缘由与准备  最近有时间空闲,闲来无事,想到使用钉钉打卡有时会迟到,所以周末的时候去看了相关网上资料,做了个demo。 材料:定时器,Accessibi...

2.8K8
来自专栏Android源码框架分析

Android后台杀死系列之二:ActivityManagerService与App现场恢复机制

本篇是Android后台杀死系列的第二篇,主要讲解ActivityMangerService是如何恢复被后台杀死的进程的(基于4.3 ),在开篇 Fragmen...

6574
来自专栏程序员互动联盟

【开发指南】如何为nexus 5编译固件

nexus 5是谷歌的亲儿子,而android的源码是开源的,那如果我有一个nexus 5手机,为何不自己为nexus 5编译软件呢? 开搞,本文假定已经有an...

42712
来自专栏帘卷西风的专栏

关于cocos2dx客户端程序的自动更新解决方案

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog)

2191
来自专栏hbbliyong

WebBrowser引用IE版本问题,更改使用高版本IE

 做了一个Winform的项目。项目里使用了WebBrowser控件。以前一直都以为WebBrowser是直接调用的系统自带的IE,IE是呈现出什么样的页面We...

2904
来自专栏Winter漫聊技术

Retrofit进阶

什么是Retrofit? 这类文章太多了,这里就不多做介绍,贴个官方链接: http://square.github.io/retrofit/

1132

扫码关注云+社区

领取腾讯云代金券