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

一、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-touch

1:滑动事件百分比,参数--pct-motion

2:缩放事件百分比,参数--pct-pinchzoom

3:轨迹球事件百分比,参数--pct-trackball

4:屏幕旋转事件百分比,参数--pct-rotation

5:基本导航事件百分比,参数--pct-nav

6:主要导航事件百分比,参数--pct-majornav

7:系统事件百分比,参数--pct-syskeys

8Activity启动事件百分比,参数--pct-appswitch

9:键盘翻转事件百分比,参数--pct-flip

10:其他事件百分比,参数--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值要一样


最后将崩溃日志提给开发
  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值