monkey测试的相关命令

monkey是模拟用户触摸操作,不支持条件判断。
monkey命令格式: 
启动安卓模拟器/真机
点击运行->输入cmd->进入命令行界面
查看设备连接情况,adb devices
在命令行界面输入monkey命令 
-p 用于约束一个限制,例如只想测试某一个app
   adb shell monkey --作为整机测试
   adb shell monkey -p [包名] 100(触发次数) 作为对一个app进行测试
        -s 用于复现异常使用          
           adb shell monkey -p [包名] -s 100 99 
        -v 用于指定反馈信息的日志级别  总共分3个级别
           -v 是一个 level0
           -v -v     level1 
           -v -v -v  level2
           adb shell monkey -p [包名] -s 100  -v -v -v 99  显示日志信息
           adb shell monkey -p [包名] -s 100  -v -v -v 99 >D:\monkey.txt 保存日志到本地
        --throttle  <毫秒> 用于延长点击时间
           adb shell monkey -p [包名] -s 100  -v -v -v  --thrrottle 500 99 >D:\monkey.txt
        --randomize-throttle 在事件之间插入随机延迟  随机延迟范围为0到throttle设定的时间,单位为毫秒
        --pkg-whitelist-file 白名单,后面接txt文件
           用命令将白名单推送到手机中,adb push <本地路径文件> /data/local/tmp 
           用命令  adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt 100(100指的是测试次数)
       --pkg-blacklist-file 黑名单,后面接txt文件
           用命令将白名单推送到手机中,adb push <本地路径文件> /data/local/tmp 
           用命令  adb shell monkey --pkg-blacklist-file /data/local/tmp/whitelist.txt 100(100指的是测试次数)
       monkey常见参数-百分比事件
        --pct-touch {+百分比}:0
   翻译触摸,触摸事件泛指发生在某一位置的一个down-up事件,点击
adb shell monkey -p cn.trichat.angus999  --pct-touch 10  10

--pct-motion {+百分比}:1
   翻译动作,动作事件泛指从某一位置接下(即down事件)后经过一系列伪随机事件后弹出(即up事件)
--pct-pinchzoom {+百分比}:2
   翻译二指缩放,智能机上的放大缩小手势操作事件
--pct-trackball {+百分比}: 3
   翻译轨迹,轨迹事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件
--pct-rotation {+百分比}:4
   翻译屏幕旋转,横屏竖屏事件
--pct-nav {+百分比}:5
       翻译基本导航,基本导航事件主要来自方向输入设备的上、下、左、右事件
--pct-majornav {+百分比}:6
   翻译主要导航,主要导航事件通常指引发图形界面的一些动作,如键盘中间按键、返回按键、菜单按键等
--pct-syskeys {+百分比}:7
   翻译系统按键,系统按键事件通常指仅供系统使用的保留按键,如HOME键、BACK键、拨号键、挂断键、音量键等
--pct-appswitch {+百分比}:8
   翻译应用启动,应用启动事件(activity launches)即打开应用,通过调用startActivity()方法最大限度地开启该package下的所有应用
--pct-flip {+百分比}:9
   翻译翻转,键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回
        --pct-anyevent {+百分比}:10
   翻译其他类型,其他类型事件指上文中未涉及的所有其他事件,如keypress、不常用的button等 

日志分析

 命令:
  adb devices  --检测设备  
      list of devices attached  设备列表
  adb connect 127.0.0.1:62001
     -- 用于连接模拟器设备
  adb pull <手机路径文件> <本地路径>  
     -- 文件从手机端复制到本地
  adb push <本地路径文件> <手机路径> 
     -- 文件从本地端复制到手机端
  
  adb logcat  打印日志
     adb logcat >D:logcat.log 用于将日志输出到本地路径  然后用ctrl+终止,日志会在logcat.log中
  adb install xxx.pak  安装apk命令,success说明已经按照好了。
  
  adb uninstall com.tencent.mobileqq --卸载应用
  
  adb uninstall -k com.tencent.mobileqq -- 卸载应用但保留数据和缓存文件

adb shell dumpsys activity | find mFocusedActivity  --查看前台应用activity名(前两天从Android 7.0升级到Android 8.0,今天在用 adb shell dumpsys activity | findstr "mFocusedActivity"来获取当前活跃的activity时,发现什么也没得到,后来百度得知,命令换了,应该用 adb shell dumpsys activity | findstr "mResumedActivity")
  
  全民养牛包名:cn.trichat.angus999
  adb connect/disconnect 通过wifi进行远程连接手机进行调试
  
  adb tcpip 5555 确定手机端和电脑端的wifi通讯端口。 用于  wifi远程连接

logcat 日志文件 分析命令

adb  logcat  -b radio --抓起特定模块的log   不加-b radio 默认抓起main的log
  radio:输出通讯系统的log   例如:wifi,蓝牙之类
  System:输出系统组件的log   例如:想要调用摄像头,麦克风之类的
  Events:输出Event模块的log  事件模块,例如手指点击事件。
  Main:所有java层的log(不属于上面3层的log)

logcat日志由五部分组成:
  1.写下日志的时间,如:2019-05-11 15:50:15
  2.优先级,在Android中,日志的优先级从低到高分以下几种
    V-Verbose(啰嗦,最低级别,开发调试中的一些详细信息,仅在开发中使用,不可在发布产品中)
    D-Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见)
    I-Info(信息,一般提示性的消息)
    W-Warnlng(警告)  
    E-Error(错误,已经出现可能影响运行的错误,比如应用crash时输出的日志)
  3.标签(tag),标明日志发起者或者方便日志的过滤筛选,I/admin  中的admin 
  4.PID(进程ID),如 I/admin(491)
  5.正文,本日志的主体内容
  
  对于产生崩溃的程序,可以搜索崩溃的日志关键字:FATAL EXCEPTION
  对于无响应的程序,通过查看前台应用activity名来确定ANR的位置,同时,通过发生ANR,将信息记录到一个路径:/data/anr/traces.txt中,traces只能保留最新一次的ANR
  对于多次无响应的问题,可以到/data/system/dropbox中找ANR,同时可以通过ls -l 来查看日志创建时间 

 

执行测试:

将文件传到手机端
adb push C:\Users\Administrator\Desktop\monkeyScriptMain.txt  /sdcard/

开始自动化测试
adb shell monkey -f /sdcard/monkeyScriptMain.txt -v -v -v 1 >D:log.txt 

cmd与monkey测试的更多相关文章

  1. 安卓手机APP压力monkey测试

    一.Monkey概述 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行 ...

  2. Monkey测试4——Monkey命令行可用的全部选项

    Monkey命令行可用的全部选项 常规 --help 列出简单的用法. -v 命令行的每一个-v将增加反馈信息的级别. Level 0(缺省值)除启动提示.测试完成和最终结果之外,提供较少信息. Le ...

  3. monkey测试

    一.理解monkey测试 1.Monkey测试是Android自动化测试的一种手段.Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. 2.当Mon ...

  4. 学习使用monkey 测试

    一.Monkey测试简介Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动Trackball.按键等操作来对设备上的程序进行压力测试,检测程序多久的时 ...

  5. monkey测试(转)

    一.Monkey测试简介Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动Trackball.按键等操作来对设备上的程序进行压力测试,检测程序多久的时 ...

  6. Android Monkey测试

    Monkey测试1——Monkey的使用 原文地址: http://www.douban.com/note/257029872/ (转自豆瓣,版权属于豆瓣及豆瓣网友,如有冒犯请见谅并联系我们) Mon ...

  7. android之monkey测试

    本文同时发表于本人个人网站 www.yaoxiaowen.com monkey测试算是android自动化测试当中最简单的一种工具了.虽然简单,不过对于测试app的稳定健壮,减少崩溃还是比较有用的.所 ...

  8. Monkey测试log的保存与分析

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  9. Android自动化之Monkey测试(二)

    本文主要从以下方面进行分享. 一.查看应用包名二.Monkey启动三.Monkey停止四.Monkey命令五.日志分析 一.查看应用包名 大多数时候,我们都是对特定的应用进行monkey测试,因此需要 ...

随机推荐

  1. python小方法 随笔记

    1. 元组和列表的接收 s1,s2 = [,] print(s1,s2) # 执行结果: 1 2 s3,s4 = (,) print(s3,s4)# 执行结果: 3 4 2. 变量值的交换 a = b ...

  2. Filebeat 7.1.1 安装及使用(连接ES)

    1. 下载 & 解压 # 下载 wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.1.1-linux- ...

  3. vue.js打包部署线上

    你完成了工程开发,需要部署到外网环境,要进行下面的步骤: 一.首先你要购买一个服务器或者有自己的服务器.我介绍给大家的一个免费的服务器:http://free.3v.do/index.html可以免费 ...

  4. python3.7 AES.MODE_ECB(128位) pkcs5padding 加密算法

    用惯用的写法总报TypeEerror错误,经过调试,总算成功啦,直接上代码 TypeError("Object type %s cannot be passed to C code" ...

  5. 自我救赎 → 利用 IDEA 和 Spring Boot 搭建 SSM

    前言 开心一刻 儿子读高中放学回来了,一向不管他学习的我突然来了兴趣,想看看他的学习他的状况,抄起他的数学习题看了起来,当看到 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x ...

  6. php接口数据安全解决方案(二)

    前言 实例演示token签名并创建token 解析token并校验token合法性 类库封装管理jwt实例 前言 JWT是什么 JWT是json web token缩写.它将用户信息加密到token里 ...

  7. JAVA包装类解析和面试陷阱分析

    包装类 什么是包装类 虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性.没有方法可调用. 沿用它们只是为了迎 ...

  8. 剑指offer第二版-2.实现单例模式

    面试题2:实现单例模式 题目要求: 设计一个类,只能生成该类的一个实例. /** * 单例模式 * 定义:指实现了特殊模式的类,该类仅能被实例化一次,产生唯一的一个对象 * 应用举例:windows的 ...

  9. 教你用Python制作微信好友背景墙

    目录: 0 引言 1 环境 2 代码实现 3 后记 0 引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像. 效果如下图,出于隐私考虑,这 ...

  10. [Asp.net] C# 操作Excel的几种方式 优缺点比较

    在项目中我们常常需要将数据库中的数据导出成Excel文件 有一次工作中我的目的就是读取Excel到内存中,整理成指定格式 整理后再导出到Excel. 因为我要处理的每个Excel表格文件很大.一个表格 ...