• Adb命令_monkey测试稳定性


    1       前言

    为方便快速上手Monkey测试相关问题,针对测试中发现的Monkey问题进行了整理总结,供定位Monkey参考。

    2       关于Monkey测试

    2.1       环境:JAVA环境  ANDROID环境

    Monkey Test介绍及测试方法,请参考:

    http://blog.csdn.net/subsist/article/details/8463946

    3       Monkey测试参数建议

    操作间隔时间:500毫秒;

    操作类型:点击 手势 切换程序 横竖屏 等;

    遇到错误:不停止;

    执行时长:每机型不小于12小时 或 点击次数:100万次;

    机型覆盖建议:覆盖高中低端机型(真机),不同芯片平台(高通、海思、MTK等),不同分辨率(480*800以上主流分辨率),不同安卓版本(安卓4.0以上主流安卓版本);

    【参考命令】:

    //基本命令

    adb shell monkey -p com.UCMobile 100

    adb shell pm list package -3 // 拿包名

    adb 执行monkey  包名 点击次数(随机操作)

    //停止

    adb shell “ps |grep monkey”  第二个字段

    adb shell kill  X  

    或 adb shell "pid=`ps | grep monkey | awk '{print $2}'` && kill $pid"

    //操作间隔500ms

    adb shell monkey -p com.UCMobile 1000  --throttle 500

    //日志输出

    adb shell monkey -p com.UCMobile   --throttle 500  10000  >D:MonkeyLog.txt

    日志等级

    adb shell monkey -p com.UCMobile    --throttle 500 -v -v -v 5000>D:MonkeyLog.txt

    adb shell monkey -p com.anyview --throttle 500  -v -v -v  10000  1>d:Log.txt  2>d:Error.txt

    //异常时不停止

    adb shell monkey -p com.UCMobile   --throttle 500   --ignore-crashes  --ignore-timeouts -v -v -v  5000  >D:MonkeyLog.txt

    // 遇到错误时,应用程序停止运行并保持在当前状态  --kill-process-after-error

    //制定操作比例 点击 手势 应用切换 横竖屏切换

    
    
    adb shell monkey -p com.UCMobile   --throttle 500  --ignore-crashes  --ignore-timeouts –pct-touch 40 -- pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -v -v -v 1000 >D:MonkeyLog.txt
    
    
    throttle 500 用户操作事件的延时
    com.UCMobile 包名
    touch 触摸
    appswitch 切换
    rotation 横竖屏
    最后那个 1000 表示总次数

     --throttle <毫秒>

    用于指定用户操作(即事件)间的时延,单位是毫秒;

    * 示例:adb shell monkey -p com.htc.Weather –throttle 3000 100


     --ignore-timeouts
    用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。

     --ignore-crashes

    用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。

     

    参数:  -v

    用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:

    日志级别 Level 0  

    说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

    日志级别 Level 1

    说明  提供较为详细的日志,包括每个发送到Activity的事件信息 

    日志级别 Level 2

    说明  最详细的日志,包括了测试中选中/未选中的Activity信息



    注意:各事件类型的百分比总数不能超过100%;

    查看应用CPU消耗

    adb shell top -n 1 |find "com.anyview"

    查看应用所占内存

    adb shell dumpsys meminfo com.anyview

    查看应用显卡消耗

    adb shell dumpsys gfxinfo com.anyview

    4       Monkey测试会发现哪些问题

    Android平台应用程序可能产生以下四种Crash:

    App层:

    1、Force Close Crash 程序崩溃
    2、ANR Crash 无响应

    Native层:

    3、Tombstone Crash(Native Crash)  
    Kernel层:

    4、Kernel Panic 更深一层的错误

    5       如何通过Monkey日志定位问题

    5.1       典型Monkey测试日志文件输出

    MonkeyLog.txt:保存Monkey测试过程、应用层错误信息,发生Native Crash时,在此文件也会有记录;

    5.2       通过日志定位问题步骤

    1、          在Monkey日志文件搜索关键词“Fatal”、“Crash”、“ANR”定位到发生Crash的详细堆栈信息,通过上下文初步判断发生问题的时间,进程pid等;

    如图:

    2、          通过手机端的日志信息寻找对应问题的可能错误,定位解决问题。

    6 更多参考资料

    1、  android 常见死机问题--log分析

    2、  分析bugreport

    3、  如何分析解决Android ANR

    4、  Android Tombstone Crash的log分析和定位

    5、  Android中对Log日志文件的分析

    6、  Watchdog kills system service in system_server

    7、  android ANR异常及其解决方式

    7 adb 如何连接夜神模拟器

    2018年01月08日 11:02:53 阅读数:3424 标签: adb如何连接夜神模拟器 更多

    个人分类: adb

    1.打开夜神模拟器,打开设置,调成手机模式,初次进入的话,进入设置,点击版本号5次,可以激活使用开发者模式,进入后打开USB调试功能

    2.打开文件资源管理器,进入夜神模拟器的安装位置,在地址栏输入cmd,回车,会打开cmd窗口,进入的路径就是夜神模拟器的安装位置。我的默认安装位置:C:Program Files (x86)Noxin

    3.输入nox_adb.exe connect 127.0.0.1:62001即可以连接到adb

    或者是 adb connect 127.0.0.1:52001

    adb connect 127.0.0.1:62001

    4.打开夜神模拟器,选择一个需要调试的应用

    5.切换到doc 输入 adb devices,可以显示到连接上的设备

  • 相关阅读:
    常用日期函数介绍
    常用数学函数介绍
    oracle 常用sql字符函数介绍
    centos6.5 相关命令
    Kettle5.4.0 java.lang.OutOfMemoryError
    oracle多表连接方式Hash Join Nested Loop Join Merge Join
    CONNECT_BY_ROOT
    设置Oracle PL/SQL时间显示格式NLS_TIMESTAMP_FORMAT
    INSTR代替NOT LIKE
    多表插入
  • 原文地址:https://www.cnblogs.com/zhenyu1/p/10646615.html
Copyright © 2020-2023  润新知