• 移动测试基础—adb、monkey命令


    最近打算把移动测试相关的知识总结一下,先从基础开始吧,总结一下adb、monkey命令

    adb常用命令总结

    1. adb / adb -help 使用帮助
    2. adb devices 查看连接到电脑的设备
    3. adb install example.apk 安装程序
    4. adb -s emulator-5554 install example.apk 安装程序到指定的设备上(模拟器)
    5. adb pull <remote> <local> 将设备上文件保存到电脑上
    6. adb push <local> <remote> 将本地的文件上传到设备上
    7. adb start-server 重启adb服务
    8. adb kill-server 杀掉adb服务
    9. adb shell 进入命令行交互模式,进入之后可以像在linux输入shell命令一样来操作手机设备(android本来就是基于linux的)
    10. adb logcat <信息显示优先级参数> 显示日志信息 优先级从低到高顺序排序:

      V —— Verbose(lowest priority)
      D —— Debug 
      I —— Info
      W —— Warning
      E —— Error
      F —— Fatal
      S —— Slient (highest priority,on which nothing is printed)
      

    下面的过滤语句只显示优先级为warning或更高的日志信息

       adb logcat *:W
    

    Monkey命令实战

    1.Monkey是什么?

    • Monkey是Android中的一个命令行工具,可以运行在模拟器或者实际设备中
    • 向系统发送伪随机的用户事件流(按键输入、触摸屏输入、手势输入等)
    • 实现对正在开发的应用程序进行测试
    • Monkey测试之一种为了测试软件的稳定性、健壮性的快速有效的方式

    2.Monkey的特征

    • 测试对象仅为应用程序包,有一定的局限性(不能对源码进行测试)
    • Monkey测试使用的事件流数据是随机的,不能进行自定义
    • 可以对MonkeyTest对象,事件数量,类型、频率等进行设置

    3. Monkey使用

    adb shell monkey [options]
    
    adb  shell monkey  -p 包名  -v 500
    
    -p 指定测试程序包名
    -v 显示默认程度的信息
    500 事件数设定为500
    
    例如: adb shell monkey -p com.android.calculator2 -v 500
    

    4. Monkey命令结果分析

    1. 找monkey里面那个出错的地方
    2. 查看monkey里面出错前的一些事件动作,并手动执行该动作
    3. 若以上步骤还不能找出,使用之前执行的monkey命令再执行一遍,seed值要一样(seed值一样,发送的伪随机事件流也一样)
    4. 注意第一个switch以及其他信息

      seed值和,不同event类型比例

    5.Monkey测试的目的

    1. ANR问题:在日志中搜索“ANR”
    2. 崩溃的问题:在日志中搜索“Exception”

    3. ANR:Application Not Responding,在Android中,如果应该程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”应用。 好的程序应该能流畅运行,不能出现ANR问题

    Monkey命令进阶

    1.运行时机

    产品功能稳定之后进行

    2. monkey更复杂的命令

    • adb shell monkey -p packagename -v -v -- throttle 600 88

       -v :代表整个Monkey运行的次数,多个 -v 可以定制Monkey报告的等级
       --throttle  600 : 每个操作都间隔时间600ms
       88 :执行的事件数
      
    • adb shell monkey -p packagename -v -v --pct-touch 50 --pct-trackball 30 --throttle 600 88

    • adb shell monkey -p packagename -v -v --pct-touch 50 --pct-trackball 30 -s 1234 --throttle 600 88

      --pct-touch :设置在整个过程中点击操作所占的百分比
      --pct-trackball: 设置滚轮在所用操作中的百分比
      --ignore-crashes:崩溃之后继续测试,重新启动程序
      --ignore-timeouts:遇到超时,也继续执行
      
      -v:
      命令行的每一个-v将增加反馈信息的级别
      Level 0(缺省值)除启动提示、测试完成和最终结果之外,提供较少信息
      Level 1提供较为详细的测试信息,如逐个发送到Activity的事件
      Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity
      
    • 更多monkey命令:http://xqtesting.blog.51cto.com/4626073/1430654

    • 实测命令(经常用到的,可以参考):

    adb shell monkey -p com.xx.xxx(包名)--throttle 500 --ignore-crashes --igonre-timeouts --ignore-security-exceptions --igonre-native-crashes --monitor-native-crashes -v -v -v 1000000 >> D:monkeyScreenLog.log

    • 说明:忽略crashes、timeout等是为了出问题是monkey继续运行下去,希望能抓取更多的出错信息

    3.可以练习使用的apk包名

    • com.android.calculator2
    • com.android.browser
    • com.android.music
    • com.android.email
    • com.android.contacts
    • com.android.camera
  • 相关阅读:
    网站 HTTP 升级 HTTPS 完全配置手册
    网站 HTTP 升级 HTTPS 完全配置手册
    负载均衡很难?看完这篇全懂了
    负载均衡很难?看完这篇全懂了
    负载均衡很难?看完这篇全懂了
    由浅入深,聊聊权限设计
    由浅入深,聊聊权限设计
    由浅入深,聊聊权限设计
    奇异值分解原理及Python实例
    写在西浦别离时
  • 原文地址:https://www.cnblogs.com/xiaowenhui/p/5038272.html
Copyright © 2020-2023  润新知