zoukankan      html  css  js  c++  java
  • cmd与monkey测试

    monkey测试的相关命令

    monkey是模拟用户触摸操作,不支持条件判断。
    monkey命令格式: 
    启动安卓模拟器/真机
    点击运行->输入cmd->进入命令行界面
    查看设备连接情况,adb devices
    在命令行界面输入monkey命令 
    -p 用于约束一个限制,例如只想测试某一个app
       adb shell monkey --作为整机测试
       adb shell monkey -p [包名] 100(触发次数) 作为对一个app进行测试
            -s 用于复现异常使用          
               adb shell monkey -p [包名] -s 100 99 
            -v 用于指定反馈信息的日志级别  总共分3个级别
               -v 是一个 level0
               -v -v     level1 
               -v -v -v  level2
               adb shell monkey -p [包名] -s 100  -v -v -v 99  显示日志信息
               adb shell monkey -p [包名] -s 100  -v -v -v 99 >D:\monkey.txt 保存日志到本地
            --throttle  <毫秒> 用于延长点击时间
               adb shell monkey -p [包名] -s 100  -v -v -v  --thrrottle 500 99 >D:\monkey.txt
            --randomize-throttle 在事件之间插入随机延迟  随机延迟范围为0到throttle设定的时间,单位为毫秒
            --pkg-whitelist-file 白名单,后面接txt文件
               用命令将白名单推送到手机中,adb push <本地路径文件> /data/local/tmp 
               用命令  adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt 100(100指的是测试次数)
           --pkg-blacklist-file 黑名单,后面接txt文件
               用命令将白名单推送到手机中,adb push <本地路径文件> /data/local/tmp 
               用命令  adb shell monkey --pkg-blacklist-file /data/local/tmp/whitelist.txt 100(100指的是测试次数)
           monkey常见参数-百分比事件
            --pct-touch {+百分比}:0
       翻译触摸,触摸事件泛指发生在某一位置的一个down-up事件,点击
    adb shell monkey -p cn.trichat.angus999  --pct-touch 10  10

    --pct-motion {+百分比}:1
       翻译动作,动作事件泛指从某一位置接下(即down事件)后经过一系列伪随机事件后弹出(即up事件)
    --pct-pinchzoom {+百分比}:2
       翻译二指缩放,智能机上的放大缩小手势操作事件
    --pct-trackball {+百分比}: 3
       翻译轨迹,轨迹事件包括一系列的随机移动,以及偶尔跟随在移动后面的点击事件
    --pct-rotation {+百分比}:4
       翻译屏幕旋转,横屏竖屏事件
    --pct-nav {+百分比}:5
           翻译基本导航,基本导航事件主要来自方向输入设备的上、下、左、右事件
    --pct-majornav {+百分比}:6
       翻译主要导航,主要导航事件通常指引发图形界面的一些动作,如键盘中间按键、返回按键、菜单按键等
    --pct-syskeys {+百分比}:7
       翻译系统按键,系统按键事件通常指仅供系统使用的保留按键,如HOME键、BACK键、拨号键、挂断键、音量键等
    --pct-appswitch {+百分比}:8
       翻译应用启动,应用启动事件(activity launches)即打开应用,通过调用startActivity()方法最大限度地开启该package下的所有应用
    --pct-flip {+百分比}:9
       翻译翻转,键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回
            --pct-anyevent {+百分比}:10
       翻译其他类型,其他类型事件指上文中未涉及的所有其他事件,如keypress、不常用的button等 

    日志分析

     命令:
      adb devices  --检测设备  
          list of devices attached  设备列表
      adb connect 127.0.0.1:62001
         -- 用于连接模拟器设备
      adb pull <手机路径文件> <本地路径>  
         -- 文件从手机端复制到本地
      adb push <本地路径文件> <手机路径> 
         -- 文件从本地端复制到手机端
      
      adb logcat  打印日志
         adb logcat >D:logcat.log 用于将日志输出到本地路径  然后用ctrl+终止,日志会在logcat.log中
      adb install xxx.pak  安装apk命令,success说明已经按照好了。
      
      adb uninstall com.tencent.mobileqq --卸载应用
      
      adb uninstall -k com.tencent.mobileqq -- 卸载应用但保留数据和缓存文件

      adb shell dumpsys activity | find mFocusedActivity  --查看前台应用activity名(前两天从Android 7.0升级到Android 8.0,今天在用 adb shell dumpsys activity | findstr "mFocusedActivity"来获取当前活跃的activity时,发现什么也没得到,后来百度得知,命令换了,应该用 adb shell dumpsys activity | findstr "mResumedActivity")
      
      全民养牛包名:cn.trichat.angus999
      adb connect/disconnect 通过wifi进行远程连接手机进行调试
      
      adb tcpip 5555 确定手机端和电脑端的wifi通讯端口。 用于  wifi远程连接


    logcat 日志文件 分析命令

      adb  logcat  -b radio --抓起特定模块的log   不加-b radio 默认抓起main的log
      radio:输出通讯系统的log   例如:wifi,蓝牙之类
      System:输出系统组件的log   例如:想要调用摄像头,麦克风之类的
      Events:输出Event模块的log  事件模块,例如手指点击事件。
      Main:所有java层的log(不属于上面3层的log)

      logcat日志由五部分组成:
      1.写下日志的时间,如:2019-05-11 15:50:15
      2.优先级,在Android中,日志的优先级从低到高分以下几种
        V-Verbose(啰嗦,最低级别,开发调试中的一些详细信息,仅在开发中使用,不可在发布产品中)
        D-Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见)
        I-Info(信息,一般提示性的消息)
        W-Warnlng(警告)  
        E-Error(错误,已经出现可能影响运行的错误,比如应用crash时输出的日志)
      3.标签(tag),标明日志发起者或者方便日志的过滤筛选,I/admin  中的admin 
      4.PID(进程ID),如 I/admin(491)
      5.正文,本日志的主体内容
      
      对于产生崩溃的程序,可以搜索崩溃的日志关键字:FATAL EXCEPTION
      对于无响应的程序,通过查看前台应用activity名来确定ANR的位置,同时,通过发生ANR,将信息记录到一个路径:/data/anr/traces.txt中,traces只能保留最新一次的ANR
      对于多次无响应的问题,可以到/data/system/dropbox中找ANR,同时可以通过ls -l 来查看日志创建时间 
     

    执行测试:

    将文件传到手机端
    adb push C:\Users\Administrator\Desktop\monkeyScriptMain.txt  /sdcard/

    开始自动化测试
    adb shell monkey -f /sdcard/monkeyScriptMain.txt -v -v -v 1 >D:log.txt 
  • 相关阅读:
    MVC的各个部分都有那些技术来实现?如何实现?
    spring入门学习
    动态 SQL 及安全性(Birt vs 润乾)
    报表的 SQL 植入风险及规避方法
    web 如何实现精准打印
    birt 报表与润乾报表对比
    ireport 与润乾报表对比
    银行存折套打续打功能 -- 报表如何记录上次打印的位置
    脚本中如何做填报数据校验
    鼠标悬停出现提示信息怎么做
  • 原文地址:https://www.cnblogs.com/chengganghua/p/10938516.html
Copyright © 2011-2022 走看看