日志管理作用

Monkey日志管理是Monkey测试中非常重要的一个环节,通过日志管理分析,可以获取当前测试对象在测试过程中是否会发生异常,以及发生的概率,同时还可以获取对应的错误信息,帮助开发定位和解决问题。

monkey日志保存方法

1. 保存在PC中

2. 保存在手机上

3. 标准流和错误流分开保存

保存在PC中

>adb shell monkey [option] <count> >d:\monkey.txt

eg:

C:\Users\Shuqing>adb shell monkey -v -v 100 >d:\monkeylog.txt

保存在手机上

C:\Users\Shuqing>adb shell

monkey -v 100 >/sdcard/monkeylog.log

注意:不能写成C:\Users\Shuqing>adb shell monkey -f /sdcard/kyb.txt -v 1 > /mnt/sdcard/monkey.log 否则会报错“系统找不到指定的路径”。

标准流和错误流分开保存

·标准流与错误流分开保存,代码如下:

Monkey [option] <count> 1>/sdcard/monkey.txt 2>/sdcard/error.txt

C:\Users\Shuqing>adb shell monkey -v 100 1>d:\monkey.log  2>d:\error.log

执行以上命令,Monkey的运行日志和异常日志将被分开保存。此时Monkey的运行日志将被保存在monkey.txt文件中,而异常日志将被保存在D盘下的error.txt中。

日志内容分析

运行命令:

adb shell monkey -v 100

运行后log如下:

C:\Users\Shuqing>adb shell monkey -v 100

:Monkey: seed=1524595418646 count=100

:IncludeCategory: android.intent.category.LAUNCHER

:IncludeCategory: android.intent.category.MONKEY

// Event percentages:

//   0: 15.0%

//   1: 10.0%

//   2: 2.0%

//   3: 15.0%

//   4: -0.0%

//   5: 25.0%

//   6: 15.0%

//   7: 2.0%

//   8: 2.0%

//   9: 1.0%

//   10: 13.0%

:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.android.settings/.Settings;end

// Allowing start of Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.settings/.Settings } in package com.android.settings

:Sending Touch (ACTION_DOWN): 0:(381.0,391.0)

:Sending Touch (ACTION_UP): 0:(371.61426,386.54578)

:Sending Touch (ACTION_DOWN): 0:(608.0,610.0)

:Sending Touch (ACTION_UP): 0:(609.2884,609.54736)

:Sending Trackball (ACTION_MOVE): 0:(-3.0,4.0)

:Sending Trackball (ACTION_MOVE): 0:(4.0,4.0)

:Sending Touch (ACTION_DOWN): 0:(42.0,319.0)

:Sending Touch (ACTION_UP): 0:(40.672623,306.90936)

:Sending Touch (ACTION_DOWN): 0:(577.0,372.0)

:Sending Touch (ACTION_UP): 0:(521.3876,386.2045)

:Sending Touch (ACTION_DOWN): 0:(59.0,762.0)

:Sending Touch (ACTION_UP): 0:(92.18322,695.0543)

:Sending Touch (ACTION_DOWN): 0:(46.0,1066.0)

:Sending Touch (ACTION_UP): 0:(118.78821,1042.1993)

:Sending Touch (ACTION_DOWN): 0:(525.0,696.0)

:Sending Touch (ACTION_UP): 0:(557.81305,684.04376)

:Sending Touch (ACTION_DOWN): 0:(466.0,12.0)

:Sending Touch (ACTION_UP): 0:(453.73657,10.844121)

:Sending Trackball (ACTION_MOVE): 0:(0.0,1.0)

Events injected: 100

:Sending rotation degree=0, persist=false

:Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0

## Network stats: elapsed time=924ms (0ms mobile, 0ms wifi, 924ms not connected)

// Monkey finished

Appium自动化测试教程-自学网-monkey日志管理的更多相关文章

  1. Appium自动化测试教程-自学网-monkey简介

    Monkey简介 在Android的官方自动化测试领域有一只非常著名的“猴子”叫Monkey,这只“猴子”一旦启动,就会让被测的Android应用程序像猴子一样活蹦乱跳,到处乱跑.人们常用这只“猴子” ...

  2. Appium自动化测试教程-自学网-monkey参数

    monkey 参数 参数分类 · 常规类参数 · 事件类参数 · 约束类参数 · 调试类参数 常规类参数 常规类参数包括帮助参数和日志信息参数.帮助参数用于输出Monkey命令使用指导:日志信息参数将 ...

  3. Appium自动化测试教程-自学网-monkey事件

    操作事件简介 Monkey所执行的随机事件流中包含11大事件,分别是触摸事件.手势事件.二指缩放事件.轨迹事件.屏幕旋转事件.基本导航事件.主要导航事件.系统按键事件.启动Activity事件.键盘事 ...

  4. Appium自动化测试教程-自学网-monkey自定义脚本实践

    自定义脚本的稳定性测试 常规Monkey测试执行的是随机的事件流,但如果只是想让Monkey测试某个特定场景这时候就需要用到自定义脚本了,Monkey支持执行用户自定义脚本的测试,用户只需要按照Mon ...

  5. Appium自动化测试教程-自学网-adb命令

    adb命令: adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. T ...

  6. Appium自动化测试教程-自学网-app基础知识

    Instrumentation的缺点是不支持跨应用,比如我想要先调起通讯录,在操作其他的app,则不支持. 第一步,应该确定系统哪些模块适合自动化.哪些不适合做自动化,明确做自动化给我们带来的好处是什 ...

  7. Appium自动化测试教程-自学网-monkeyrunner简介

    monkeyrunner简介 MonkeyRunner工具是使用Jython(使用Java编程语言实现的Python)写出来的,它提供了多个API,通过monkeyrunner API 可以写一个Py ...

  8. Appium自动化测试教程-自学网-SDK

    SDK:软件开发工具包,被软件开发工程师用于特定的软件包.软件框架.硬件平台.操作系统等建立应用软件的开发工具的集合. 因此,Android SDK指的是Android专属的软件开发工具包. 1,安装 ...

  9. Appium自动化测试教程-自学网-monkeyrunner API

    MonkeyRunner API MonkeyRunner工具主要有三个类: MonkeyRunner MonkeyDevice MonkeyImage 官方API文档 :http://www.and ...

随机推荐

  1. python爬虫-豆瓣电影的尝试

    一.背景介绍 1. 使用工具 Pycharm 2. 安装的第三方库 requests.BeautifulSoup 2.1 如何安装第三方库 File => Settings => Proj ...

  2. java多线程中篇(二) —— 线程的创建和Synchronized锁关键字

    学习之前,先了解线程状态图 说明:线程共包括以下5种状态. 1. 新建状态(New)         : 线程对象被创建后,就进入了新建状态.例如,Thread thread = new Thread ...

  3. Java调用SqlLoader将大文本导入数据库

    Java调用SqlLoader将大文本导入数据库 业务场景:将一千万条数据,大约500M的文本文档的数据导入到数据库 分析:通过Java的IO流解析txt文本文档,拼接动态sql实现insert入库, ...

  4. centos7安装php7.3的redis扩展(不是redis服务!)

    PHP其他扩展加装扩展也是一样的步骤~ PHP官网下载redis扩展: http://pecl.php.net/package/redis 稳定版吧: [root@wf ~]# wget http:/ ...

  5. zblog常用到的几个标签介绍

    文章归档 <divclass="function"id="divArchives"> <h3><#ZC_MSG028#>&l ...

  6. Scala 类型参数

    介绍 类型参数是什么?类型参数其实就类似于Java中的泛型.先说说Java中的泛型是什么,比如我们有List a = new ArrayList(),接着a.add(1),没问题,a.add(&quo ...

  7. 我们为什么要用redis

    Redis的5要点: 1.为什么要选择Redis:介绍Redis的使用场景与使用Redis的原因: 2.Redis常用命令总结:包括时间复杂度总结与具体数据类型在Redis内部使用的数据结构: 3.R ...

  8. [转]全网最!详!细!tarjan算法讲解

    转发地址:https://blog.csdn.net/qq_34374664/article/details/77488976 原版的地址好像挂了..... 看到别人总结的很好,自己就偷个懒吧..以下 ...

  9. FreeRTOS 中断配置和临界段

    中断屏蔽寄存器 PRIMASK.FAULTMASK和BASEPRI 1.PRIMASK:这是个只有1个位的寄存器.当它置1时, 就关掉所有可屏蔽的异常,只剩下 NMI和硬fault可以响应.它的缺省值 ...

  10. Windows环境下实现Jenkins自动化部署

    详见:https://blog.csdn.net/Try_harder_every_day/article/details/79170065 Jenkins自动化部署: 几条具体的思路:1.开发人员将 ...