赞
踩
背景:我们在跑monkey时,可能APP里配置了广告或是其他就跳走了,回不来了,导致测的是百度或是系统页面,下面介绍一种只跑白名单的方法,如果跳到其他页面,就会被“拽”回来。
一、java相关环境
1.安装JDK
2.JAVA环境变量的搭建: 我的电脑→右键属性→→环境变量
3.下载SDK,新建一个环境变量名称为ANDROID_HOME,变量值为当前安装SDK的目录
4.开始使用mokey A.手机与电脑建立链接,手机打开开发者模式,允许USB调试,手机安装apk包。输入:adb install apk包路径
monkeyTest 解析config的jar,轮询config中的白名单
Config配置需要轮询的包名,启动app的activity,需要测试的activity,轮询的时间间隔与轮询次数
Monkey需要执行的monkey代码
config下载地址:monkey只跑白名单的config文件-互联网文档类资源-CSDN下载
1.解析monkeuTest包,配置解析出来的config
1填写APP的包名,2填写启动APP的主activity 3填写要跑的白名单的activity,获取当前页面activity(windows) adb shell dumpsys window | findstr mCurrentFocus
2.在解析的路径下执行java -jar monkeyTest.jar ,运行轮询程序
3. 运行命令行adb shell settings put global policy_control immersive.full=* 关闭手机的状态栏 ,防止测试过程中下拉状态栏
4.启动monkey.exe,输入测试参数开始测试
monkey.ext下载地址:monkey可视化页面源码-互联网文档类资源-CSDN下载
日志分析
1、程序无响应的问题,在日志中搜索:ANR
可能的原因有:
a、当前有耗时操作在UI线程指定,导致卡UI了
b、在5s内没有响应输入事件(eg:按键、触摸屏幕)
c、BroadcastReceiver在特定时间内(10s)无法处理完成
当出现ANR后,需要导出,步骤如下:
a、输入adb shell
b、输入cd /data/anr/
c、输入ls
d、adb pull /data/anr d:\trace.txt
e、在logcat将出现anr问题的进程号复制,然后在trace.txt文件里按ctrl+F 查找,粘贴进程号,查找对应的问题
2、崩溃问题
在日志中搜索:Exception,如果出现空指针,则肯定有bug
3、搜索:crash、error
monkey执行中断,在log最后也能看到当前执行次数,若以上步骤还不能定位问题,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样。
可能出现Crash的场景:
1、图片放大缩小
2、输入框无限输入各种类型的字符
3、快速成长
4、和系统交互等
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。