app测试环境搭建(适用monkey测试及日志分析)
一、app环境搭建教程
(包含文档教程和Android SDK)
自取链接:https://pan.baidu.com/s/1O_R7dNQ31kBQC6TX2bMvKA
提取码:3jt3
以上操作正常后说明你的测试环境已经成功部署
以上文档教程适用与模拟器
以下是我用真机进行的monkey测试
二、使用真机进行monkey测试
1、手机相关配置
- 进入手机设置找到版本号,多次点击版本号,直到出现‘您现在处于开发者模式!’
- 开启USB调试
- 使用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测试及日志分析)相关推荐
- 小程序-本地环境搭建-线上测试搭建-线上正式环境搭建
本地环境搭建 本地环境只能自己测试 小程序的url设置为localhost.127.0.0.1.或者xxx.xxx.com/api (需要配置hosts)都可以,本地的地址,不需要在小程序后台配置,l ...
- monkey测试linux设备,Monkey测试环境搭建及测试执行
一.环境准备 1.JDK 2.Android SDK 二.JAVA环境的搭建 1.JDK 下载地址:https://www.oracle.com/technetwork/java/javase/dow ...
- Celery简介及Docker测试环境搭建
Celery 简介 任务队列一般用于线程或计算机之间分配工作的一种机制. 任务队列的输入是一个称为任务的工作单元,有专门的工作进行不断的监视任务队列,进行执行新的任务工作. Celery 通过消息机制 ...
- 鸿蒙硬件HI3861开发环境搭建-串口2测试
鸿蒙硬件HI3861开发环境搭建-串口2测试 鸿蒙硬件HI3861开发环境搭建-串口2测试 - 哔哩哔哩 鸿蒙其他教程请看https://blog.csdn.net/qq_33259323/categ ...
- 高版本Android真机逆向测试环境搭建
高版本Android真机逆向测试环境搭建 618购入了新机Xiaomi K50,真滴便宜又好用,续航很强界面很丝滑.正好拿来做逆向测试机? 怎么可能!这也太奢侈了!不过淘汰的Xiaomi Note 7 ...
- Play Framework 2.5.x 测试环境搭建
Play Framework 2.5.x 测试环境搭建 目录 Play Framework 25x 测试环境搭建 目录 准备工作 目标 GO buildsbt conf TestGlobal 应用 t ...
- 弱网测试环境搭建:针对视频直播等实时音视频应用
弱网测试环境搭建:针对视频直播等实时音视频应用 什么是弱网环境? 对于弱网的定义,不同的应用对弱网的定义是有一定的差别的,不仅要考虑各类型网络最低速率,还要结合业务场景和应用类型去划分.按照移动的特性 ...
- XTS 测试环境搭建和介绍
XTS 测试环境搭建 1. 安装JDK(对于Android Q以后的版本,JDK需要11及以上的版本) 查看已经安装的 JDK 版本 ls /usr/lib/jvm/ 运行展示: 如果没有 jdk-1 ...
- 大数据原生集群本地测试环境搭建六
本篇软件版本 Kylin2.5.1!!!!强烈建议不要和我一样原因下面解释 Datax MongDB_linux-x86_64-4.0.10 clickhouse20.8.3.18-1 集群最后完善 ...
- 如何搭建测试环境?搭建测试环境的步骤跟注意事项(视频教程版)
什么是测试环境 测试环境,指为了完成软件测试工作所必需的计算机硬件.软件.网络设备.历史数据的总称,简而言之,测试环境=硬件+软件+网络+数据准备+测试工具. 硬件:指测试必需的服务器.客户端.网络连 ...
最新文章
- sql server 2005 T-SQL CAST 和 CONVERT (Transact-SQL)
- ListView性能[译]
- python 多级菜单_python多级菜单
- QT的QFileOpenEvent类的使用
- vue 固定div 滚动_vue移动端 导航吸顶(固定定位)页面滚动出现抖动
- OCM备考 一、Server config 之配置shared server
- 数据结构——交换左右子树
- tp5 php文件做模板模板,TP5视图和模板
- chrome安装JSONview插件,即可在浏览中查看json文件
- DNS服务器分类与bind-chroot服务配置
- 计算机出现蓝屏怎么解决,电脑开机出现蓝屏怎么解决?
- 朗道-西格尔零点猜想(the Landau-Siegel Zeros Conjecture)
- 快速关闭SELinux
- HDU 1290 献给杭电五十周年校庆的礼物(空间分割)
- numpy.arange()参数含义
- 用WinSCP登录路由器并传入文件及改文件权限
- 跨区域机房集中监控数据云平台运维管理方案
- 关于CSS的一些属性
- 第二单元 The Opera Singer
- Maven下的Mybatis基本配置和使用
热门文章
- js、Java的url参数转码(url里中文、特殊符号参数转码)
- nmds与mds的区别_通过ggplot2为NMDS的椭圆添加特定的形状和线型
- python3网易公开课爬虫实践
- Sigma Function LightOJ - 1336
- hdu2825(状压dp+AC自动机)
- 第12期 《博观而约取,厚积而薄发》6月刊
- oracle 存储过程body,【随手记】Oracle存储过程报错 Compilation errors for PACKAGE BODY
- Python期末考试编程题
- 毕业论文参考文献格式GB/T 7714的Endnote设置教程
- carry函数在C语言中用法,常考词的语法与用法:careless, carry, case