一、app环境搭建教程

(包含文档教程和Android SDK)
自取链接:https://pan.baidu.com/s/1O_R7dNQ31kBQC6TX2bMvKA
提取码:3jt3
以上操作正常后说明你的测试环境已经成功部署
以上文档教程适用与模拟器
以下是我用真机进行的monkey测试

二、使用真机进行monkey测试

1、手机相关配置

  1. 进入手机设置找到版本号,多次点击版本号,直到出现‘您现在处于开发者模式!’
  2. 开启USB调试
  3. 使用USB连接电脑

2、连接电脑

1、使用adb devices 命令查看电脑手机是否相连;
下图表示已连接

2、打开app
2.1、获取当前app包名:adb shell dumpsys window | findstr mCurrentFocus

以上方法适用于已安装应用

2.2、其他方法
1.adb shell pm list package 查看手机上所有的安装包

2.adb shell pm list package -3 查看第三方安装包

3.adb shell pm list packages -s 查看系统的包

4.adb shell pm list packages -e “要搜索的内容” 查看启动包中搜索的包

3、输入monkey命令

adb shell monkey -v -v -v -s 20211202 --ignore-crashes --ignore-timeouts --monitor-native-crashes --ignore-security-exceptions --throttle 500 -p xxx.xxx.xxx 100000>D:\monkey_log\monkey_20211202.log

输入命令后按回车,monkey就自动运行啦!

3.1、命令详解:

adb shell monkey             执行手机中/system/bin/monkey这个脚本
-v -v -v                        提供最详细的日志,包括了测试中选中/未选中的Activity信息()
-s 20211202                     指定伪随机数生成器的seed值(用于回归测试和复现bug)
--ignore-crashes                忽略闪退(monkey执行过程中有该情况可忽略不影响运行)
--ignore-timeouts               忽略超时(用法同上)
--monitor-native-crashes        用于指定是否监视并报告应用程序发生崩溃的本地代码
--ignore-security-exceptions    忽略许可错误
--throttle 500                  事件之间的时间间隔(1000毫秒=1秒)-p xxx.xxx.xxx                   获取到的包名100000                        执行事件的总次数>D:\monkey_log\monkey.log        将日志文件保存在本地路径下
Event percentages(事件百分比):(各个事件百分比之和为100%)0:触摸事件百分比,参数--pct-touch1:滑动事件百分比,参数--pct-motion2:缩放事件百分比,参数--pct-pinchzoom3:轨迹球事件百分比,参数--pct-trackball4:屏幕旋转事件百分比,参数--pct-rotation5:基本导航事件百分比,参数--pct-nav6:主要导航事件百分比,参数--pct-majornav7:系统事件百分比,参数--pct-syskeys8:Activity启动事件百分比,参数--pct-appswitch9:键盘翻转事件百分比,参数--pct-flip10:其他事件百分比,参数--pct-anyevent

以上命令我没有具体指定

4、查看日志

4.1、monkey运行完成后日志末尾会显示 Monkey finished
这里以执行10次为例

4.2、在日志中看问题:

在日志中搜索crash、Exception,anr关键字

1.程序无响应的问题:在日志中搜索 ANR
2.崩溃问题搜crash
3.崩溃问题:在日志中搜索 “Exception” ,
常见的Java异常:javaException(runtimeException):NullPointerException-空指针引用异常ClassCastException-类型强制转换异常。IllegalArgumentException-传递非法参数异常。ArithmeticException-算术运算异常ArrayStoreException-向数组中存放与声明类型不兼容对象异常IndexOutOfBoundsException-下标越界异常NegativeArraySizeException-创建一个大小为负数的数组错误异常NumberFormatException-数字格式异常SecurityException-安全异常UnsupportedOperationException-不支持的操作异常

4.3、获取Android崩溃日志

1、清除日志
adb logcat -c
2、然后再次运行崩溃操作,再抓取日志
3、存储日志到本地目录下
adb logcat -d *:W > D:\monkey_crash.log
这个日志文件包含了所有打印的日志,需要自己筛选下崩溃日志,比如搜索 begin、crash、Exception
4、为了更精确的筛选日志,可以加入筛选条件
adb logcat -d *:W grep “包名” >monkey_crash.log

4.4、复现bug

1.找到是monkey里面的哪个地方出错
2.查看Monkey里面出错前的一些事件动作,并手动执行该动作
3.若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样最后将崩溃日志提给开发

app测试环境搭建(适用monkey测试及日志分析)相关推荐

  1. 小程序-本地环境搭建-线上测试搭建-线上正式环境搭建

    本地环境搭建 本地环境只能自己测试 小程序的url设置为localhost.127.0.0.1.或者xxx.xxx.com/api (需要配置hosts)都可以,本地的地址,不需要在小程序后台配置,l ...

  2. monkey测试linux设备,Monkey测试环境搭建及测试执行

    一.环境准备 1.JDK 2.Android SDK 二.JAVA环境的搭建 1.JDK 下载地址:https://www.oracle.com/technetwork/java/javase/dow ...

  3. Celery简介及Docker测试环境搭建

    Celery 简介 任务队列一般用于线程或计算机之间分配工作的一种机制. 任务队列的输入是一个称为任务的工作单元,有专门的工作进行不断的监视任务队列,进行执行新的任务工作. Celery 通过消息机制 ...

  4. 鸿蒙硬件HI3861开发环境搭建-串口2测试

    鸿蒙硬件HI3861开发环境搭建-串口2测试 鸿蒙硬件HI3861开发环境搭建-串口2测试 - 哔哩哔哩 鸿蒙其他教程请看https://blog.csdn.net/qq_33259323/categ ...

  5. 高版本Android真机逆向测试环境搭建

    高版本Android真机逆向测试环境搭建 618购入了新机Xiaomi K50,真滴便宜又好用,续航很强界面很丝滑.正好拿来做逆向测试机? 怎么可能!这也太奢侈了!不过淘汰的Xiaomi Note 7 ...

  6. Play Framework 2.5.x 测试环境搭建

    Play Framework 2.5.x 测试环境搭建 目录 Play Framework 25x 测试环境搭建 目录 准备工作 目标 GO buildsbt conf TestGlobal 应用 t ...

  7. 弱网测试环境搭建:针对视频直播等实时音视频应用

    弱网测试环境搭建:针对视频直播等实时音视频应用 什么是弱网环境? 对于弱网的定义,不同的应用对弱网的定义是有一定的差别的,不仅要考虑各类型网络最低速率,还要结合业务场景和应用类型去划分.按照移动的特性 ...

  8. XTS 测试环境搭建和介绍

    XTS 测试环境搭建 1. 安装JDK(对于Android Q以后的版本,JDK需要11及以上的版本) 查看已经安装的 JDK 版本 ls /usr/lib/jvm/ 运行展示: 如果没有 jdk-1 ...

  9. 大数据原生集群本地测试环境搭建六

    本篇软件版本 Kylin2.5.1!!!!强烈建议不要和我一样原因下面解释 Datax MongDB_linux-x86_64-4.0.10 clickhouse20.8.3.18-1 集群最后完善 ...

  10. 如何搭建测试环境?搭建测试环境的步骤跟注意事项(视频教程版)

    什么是测试环境 测试环境,指为了完成软件测试工作所必需的计算机硬件.软件.网络设备.历史数据的总称,简而言之,测试环境=硬件+软件+网络+数据准备+测试工具. 硬件:指测试必需的服务器.客户端.网络连 ...

最新文章

  1. sql server 2005 T-SQL CAST 和 CONVERT (Transact-SQL)
  2. ListView性能[译]
  3. python 多级菜单_python多级菜单
  4. QT的QFileOpenEvent类的使用
  5. vue 固定div 滚动_vue移动端 导航吸顶(固定定位)页面滚动出现抖动
  6. OCM备考 一、Server config 之配置shared server
  7. 数据结构——交换左右子树
  8. tp5 php文件做模板模板,TP5视图和模板
  9. chrome安装JSONview插件,即可在浏览中查看json文件
  10. DNS服务器分类与bind-chroot服务配置
  11. 计算机出现蓝屏怎么解决,电脑开机出现蓝屏怎么解决?
  12. 朗道-西格尔零点猜想(the Landau-Siegel Zeros Conjecture)
  13. 快速关闭SELinux
  14. HDU 1290 献给杭电五十周年校庆的礼物(空间分割)
  15. numpy.arange()参数含义
  16. 用WinSCP登录路由器并传入文件及改文件权限
  17. 跨区域机房集中监控数据云平台运维管理方案
  18. 关于CSS的一些属性
  19. 第二单元 The Opera Singer
  20. Maven下的Mybatis基本配置和使用

热门文章

  1. js、Java的url参数转码(url里中文、特殊符号参数转码)
  2. nmds与mds的区别_通过ggplot2为NMDS的椭圆添加特定的形状和线型
  3. python3网易公开课爬虫实践
  4. Sigma Function LightOJ - 1336
  5. hdu2825(状压dp+AC自动机)
  6. 第12期 《博观而约取,厚积而薄发》6月刊
  7. oracle 存储过程body,【随手记】Oracle存储过程报错 Compilation errors for PACKAGE BODY
  8. Python期末考试编程题
  9. 毕业论文参考文献格式GB/T 7714的Endnote设置教程
  10. carry函数在C语言中用法,常考词的语法与用法:careless, carry, case