App测试收集总结

Monkey

monkey是安卓的命令行工具,可以运行在虚拟机或者实际设备中。
monkey的目的就是为了测试app的稳定性,看App是否会崩溃
monkey的特点:只能对程序包进行测试,无法对源码进行测试;moneky的事件数据流是随机的,无法自定义;可以对monkey的测试对象,事件类型,频率,数量等进行自定义。

App测试环境搭建:

  1. 安装JDK,安卓SDK,配置Java和Android环境
  2. 安装虚拟机或者准备真实安卓设备
  3. 将待测试的程序包安装到虚拟机或者设备上
  4. 通过adb devices连接设备或者虚拟机
  5. 打开安装包
  6. 通过adb shell monkey命令对app进行测试

App测试monkey命令

安装应用 adb install
对设备中的所有App进行随机测试:

adb shell monkey 100 执行monkey测试100次

指定一个或者多个包进行测试:

adb shell monkey -p [package] 10 对指定package进行测试

package包名的查看:

adb logcat|findstr Displayed

随机数种子:seed值相同的话,执行的事件序列也是一样的

adb shell monkey -p [package] -s [seed值] 100

用户延迟操作: 300执行一个操作的时间 100是执行事件次数,不指定300这个操作时间的话,monkey就会尽快的去执行操作

adb shell monkey -p [package] --throttle 300 100

设置触摸事件的百分比: - - pct-touch [百分比数值] 剩下的50%由monkey随机设置事件

adb shell monkey -p [package] - - pct-touch 50 -v 100 

设置手势操作的百分比

adb shell monkey -p [package] - - pct-motion 50 -v 100 

设置 忽略崩溃和忽略超时

adb shell monkey -p [package] --ignore-crashes --ignore-timeouts 100

指定事务的百分比:触摸和移动各50%

adb shell monkey -p [package] -- pct-motion 50 --pct-motion 50 -v 100

App测试日志定位

  • 日志位置:adb shell monkey 100 >路径
  • 查看日志关键字
    A、崩溃记录查找”CRASH”;
    B、无响应记录查找”ANR”;
    C、内存泄露问题搜索"GC"(需进一步分析);
    D、异常问题搜索“Exception”;
  • 日志详细级别:
    Level 0: adb shell monkey -p 包名 -v 30 //仅提供启动提示、测试完成和最终结果等少量信息;
    Level 1:adb shell monkey -p 包名 -v -v 30 // 提供较为详细的日志,包括每个发送到Activity的事件信息;
    Level 2:adb shell monkey -p 包名 -v -v -v 30 // 最详细的日志,包括了测试中选中/未选中的Activity信息
  • 抓取日志 adb logcat (-v time 按照时间打印日志)
    开始抓取日志,输入如下命令把日志写入到文件中:adb logcat -v time > D:\Logcat\logcat.log
  • 日志级别的过滤
    查看10条级别为错误(Error)的日志 adb logcat 10 *:E > D:\Logcat\logcat.log
    • V 详细verbose级别
    • D debug级别
    • I info级别
    • W warning级别
    • E error级别
    • F fatal 严重级别
    • S 无记载

logcat

logcat是安卓的命令行工具用于抓取日志。
用法 adb logcat
shell 用法 logcat

logcat 的缓冲区

1)Radio:输出通信系统的log
2)System:输出系统组件的log
3)Event:输出event模块的log
4)Main:所有java层的log,遗迹不属于上面3层的log
获取缓冲区 adb logcat -b radio

logcat的tag和优先级

//过滤TAG为ActivityManager输出级别大于I的日志与TAG为MyApp输出级别大于D的日志
adb logcat ActivityManager:I My App:D *:S

命令参数

//将缓冲区的log打印到屏幕并退出
adb logcat -d
//清除缓冲区log(testCase运行前可以先清除一下)
adb logcat -c
//打印缓冲区大小并退出
adb logcat -g
//输出log
adb logcat -f /data/local/tmp/log.txt -n 10 -r 1

格式化输出

adb logcat -v [输出格式]

brief 显示优先级/标记和过程的PID发出的消息(默认格式)
process 只显示PID
tag 只显示优先级/标记
raw 显示原始的日志消息,没有其他元数据字段
time 调用显示日期、时间、优先级/标签和过程的PID发出消息
threadtime 调用显示日期、时间、优先级、标签遗迹PID TID线程发出的消息
long 显示所有元数据字段与空白行和单独的消息


内容收集自网络,如果侵权,请联系我删除

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值