app稳定性测试怎么测(app测试命令大全图解)

app稳定性测试怎么测(app测试命令大全图解)

1.普通命令

1.1 devices命令

# 语法格式 :adb devices [-l] 
# 作用 :返回已连接设备的信息
# 示例 :
    adb devices     : 返回设备的信息
    adb devices -l  : 返回设备的详细信息

1.2 help命令

# 语法格式 :adb --help
# 作用 : 查看adb命令的帮助信息
# 示例 : adb --help       : 返回adb命令的帮助信息

1.3 version命令

# 语法格式 :adb version 
# 作用 :查看adb命令的版本信息
# 示例 :
    adb version     : 返回设备的版本信息

2.网络命令

2.1 connect命令

# 语法格式 :adb connect host[:port] 
# 作用 :连接到一个设备上
# 示例 :
    adb connect 127.0.0.1:21503     : 连接电脑上的模拟器

2.2 disconnect命令

# 语法格式 :adb disconnect host[:port] 
# 作用 :断开设备的连接
# 示例 :
    adb disconnect 127.0.0.1:21503      : 与模拟器断开连接

3.文件传输

3.1 push命令

# 语法格式 :adb push 本地文件 手机的路径 
# 作用 :将电脑端的文件推到到手机上
# 示例 :
    adb push abcd.log /data/test        : 将本地文件abcd.log推送到手机的/data/test目录下

3.2 pull命令

# 语法格式 :adb pull 手机文件 本地路径
# 作用 :将手机文件拉倒本地
# 示例 :
    adb pull /data/test/monkey.log .        : 将手机路径下/data/test/monkey.log拷贝到电脑端的当前路径下

4.shell脚本

安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,若在window客户端下执行时需要用adb shell 命令 。或者是先输入adb shell 。进入shell程序后,然后执行下面的命令 。

4.1 普通命令

普通命令是指在shell执行的命令和Linux下的命令是一样的 ,比如:ls , cp ,cd ,touch ,mkdir等命令在adb shell下都可以执行。

4.2 screencap 命令

# 截图当前手机屏幕
adb shell screencap -p 路径/png图片

4.3 monkey命令

作用:主要用于Android上的应用进行压力测试或稳定性测试的一个工具, 主要目的是测试app在长时间压力下是否产生Crash(崩溃)或无响应.

语法格式 : monkey [基本参数] [事件参数] [调试参数]

基本参数

参数说明
-p 应用包名指定一个或多个包名,加上此参数后,monkey将只允许系统启动该包名对应的APP。多个包的话,加多个-p参数即可
-s 种子值-s 指定测试的种子值(编号),如果两次的种子值相同,则两次测试的随机指令完全相同。主要用于回归和重现出现的Bug。
–throttle 时间(毫秒)每个事件结束后的间隔时间。用于降低系统压力。如果不指定,系统对事件进行连续执行 。
-v用于指定日志级别,这个日志级别公有3个级别。Level 1 : -v ,Level 2 : -v -v ,,Level 3 : -v -v -v ,每多一个-v,日志就越详细
-f 脚本文件运行指定的monkey脚本
### 以下命令是指定基本操作的情况


# 1.发送200个随机指令 (不带任何参数)
abd shell monkey 200
# 2.指定具体包名,并指定比较详细的日志 ,运行200次 :
abd shell monkey -p com.lchr.diaoyu -v -v 200
# 3.每个事件结束后,用于设置间隔时间,用于降低系统压力 。
adb shell monkey -p com.lchr.diaoyu --throttle 500 200 #每个指令之间延时500毫秒 。
# 4.设置种子值,以预备后续重复执行相同指令 。
adb shell monkey -p com.lchr.diaoyu -s 1001 200 # 设置种子值1001,随便指定即可,主要用于回归测试。

事件参数

事件参数说明备注
–pct-touch <percent>指定触摸事件百分比触摸事件是指在屏幕中的一个down-up事件,即在屏幕某处按下并抬起的操作
–pct-motion <percent>指定动作事件百分比motion事件是由屏幕上某处一个down事件、一系列伪随机的移动事件和一个up事件组成,需注意的是移动事件是直线滑动 。向上滑动或向下滑动,向左滑动或向右滑动
–pct-trackball <percent>指定轨迹事件百分比滚动球事件由一个或多个随机的移动事件组成,有时会伴随着点击事件。 注:不常使用参数,现在手机几乎没有滚动球,但滚动球事件中包含曲线滑动事件,在被测程序需要曲线滑动时可以选用此参数。
–pct-syskeys <percent>指定系统按键事件百分比这些按键通常由系统保留使用,如Home、Back、Start Call、EndCall、音量调节
–pct-nav <percent>指定基本导航事件百分比导航事件由方向输入设备的上下左右按键所触发的事件组成 。注:不常用操作。
–pct-majornav <percent>指定主要导航事件百分比这些导航事件通常会导致UI界面中的动作事件,如5-way键盘的中间键,回退按键、菜单按键
–pct-appswitch <percent>指定应用启动事件百分比在随机的时间间隔中,Monkey将执行一个startActivity()调用,作为最大程度覆盖被测包中全部Activity的一种方法)
–pct-anyevent <percent>指定其他类型事件百分比调整其他事件的百分比。(这包含所有其他事件,如按键、其他在设备上不常用的按钮等)
–pct-pinchzoom <percent>指定缩放事件百分比缩放事件即智能机上的放大缩小手势
# 设置各事件运行的比率,总比率之和需等于100
adb shell monkey -p com.lchr.diaoyu --pct-touch 50 --pct-motion 10 --pct-majornav 20 --pct-syskeys 10 --pct-anyevent 10 -s 15 --throttle 500 -v -v -v 500 

调试参数

调试参数说明备注
–ignore-crashes忽略因崩溃或异常引起的停止运行长时间运行时必备参数
–ignore-timeouts忽略应用程序发生超时错误(ANR)长时间运行时必备参数
–ignore-security-exceptions忽略应用发生任何权限错误
–monitor-native-crashes监视并报告monkey运行时native code的崩溃事件
-kill-process-after-error当应用程序发生错误时,应用程序停止运行并保持在当前状态
-ignore-native-crashes忽略因native code的崩溃事件
–hprof在事件序列前后立即生成profilfing report
–dbg-no-events监视应用程序所调用的包之间的转换
–wait-dbg暂停执行中的monkey,直到有调试器与它连接
# 设置各事件运行的比率,同时忽略应用程序崩溃和无影响导致的停止。
adb shell monkey -p com.lchr.diaoyu --pct-touch 50 --pct-motion 10 --pct-majornav 20 --pct-syskeys 10 --pct-anyevent 10 -s 15 --throttle 500 -v -v -v --ignore-crashes --ignore-timeouts 50000 > monkey.log 

4.4 pm命令

# 语法格式 :
    pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
    pm install [-lrtsfd] [-i PACKAGE] [PATH]
    pm uninstall [-k] [--user USER_ID] PACKAGE
    pm clear [--user USER_ID] PACKAGE
# 作用 :包管理应用程序
# 示例 
    pm install /data/test/diaoyu_3.5.20_wap_release1.apk        # 安装apk应用程序
    pm list packages -3     # 显示所有第三方应用程序
    pm uninstall com.lchr.diaoyu

list packages 参数

packages参数显示列表备注
所有应用重点
-f显示应用关联的文件
-d只显示 disabled 的应用
-e只显示 enabled 的应用
-s只显示系统应用重点
-3只显示第三方应用重点
-i显示应用的 installer
-u包含已卸载应用
<FILTER>包名包含 <FILTER> 字符串重点

install 安装参数

参数说明
-l锁定应用程序
-r重新安装应用,且保留应用数据
-t允许测试apk被安装
-i <INSTALLER_PACKAGE_NAME>指定安装包的包名
-s安装到sd卡
-f安装到系统内置存储中(默认安装位置)
-d允许降级安装(同一应用低级换高级)
-g授予应用程序清单中列出的所有权限(只有6.0系统可用)

uninstall 参数

参数说明
-k卸载应用且保留数据与缓存(如果不加-k则全部删除)

5.apk安装

5.1 install命令

# 语法格式 :adb install apk安装包
# 作用 :将电脑端的apk安装包安装到移动设备上
# 示例 :
    adb install diaoyu_3.5.20_wap_release1.apk
# 说明 : 此安装命令和pm里的安装基本一样 。 adb install = push apk安装包 + pm install apk安装包 

5.2 install-multiple命令

# 语法格式 :adb install apk安装包
# 作用 :将电脑端的apk安装包安装到移动设备上
# 示例 :
    adb install-multiple BaiduTranslate_webbannerfinal.apk diaoyu_3.5.20_wap_release1.apk   # 同时安装两个包

5.4 uninstall命令

# 语法格式 :adb uninstall [-k] 包名
# 作用 :将移动端的app卸载掉 ,其中-k 代表保留app的数据和缓存
# 示例 :
    adb uninstall com.lchr.diaoyu
# 说明 : 此卸载命令和pm里的安装基本一样 。 adb uninstall 应用包名 = pm uninstall 应用包名

6.内部调试

6.1 bugreport命令

# 语法格式 :adb bugreport [-k] 包名
# 作用 :输入指令后开始抓取移动端上的日志,不需要按Ctrl+C来停止,会自动化停止Log打印,并将日志文件保存在本地。抓取日志的步骤:主要抓取执行命令时往前10分钟左右的日志信息,所以在出现bug后立即采用此方法才有效,问题出现时间太长不建议使用此方法。此命令运行Android7.0以上的系统上。
# 示例 :
    adb bugreport .         # 将日志输出到本地的当前路径下

6.2 logcat命令

作用 :抓取移动设备上的日志 。

格式 : adb logcat [选项] [过滤器设置]

选项说明

  • -s : 设置默认过滤器日志为silent
  • -f 日志文件 : 输出日志到具体的文件中
  • -n <conut> : 设置最大日志行数
  • -v <format> :设置日志输出格式 ,只能设置一项。
  • -c : 清空所有的日志缓存信息
  • -d : 将缓存的日志输出到屏幕上, 并且不会阻塞;
  • -t <count>: 输出最近的几行日志, 输出完退出, 不阻塞;
  • -t <time> : 输出最近时间的几行日志,输出完退出 。
  • -T <count> : 输出最近的几行日志 ,输出完不退出
  • -T <count> : 输出最近时间的几行日志,输出完不退出
  • -g : 查看日志缓冲区信息

过滤器设置

  • 设置的格式为 : <tag> [:日志级别] ,其中tag一般为* .
  • 根据以上的格式,可以设置的日志为 : *.D ,代表输出debug以及以上的日志 。
  • 并且以下的日志级别是由低到高 。
    • V — 明细 verbose(最低优先级)
    • D — 调试 debug
    • I — 信息 info
    • W — 警告 warn
    • E — 错误 error
    • F — 严重错误 fatal
    • S — 无记载 silent
# 格式 :adb logcat [**选项**] [过滤器设置]  

# 说明 :根据以上日志格式可以看出 ,可以有如下组合 。

# 1. 不加任何选项和过滤器
adb logcat      # 查看所有的日志信息 


# 2. 只加上选项
adb logcat -c       # 清空所有日志
adb logcat -t 10    # 输出最近10行的日志
adb logcat -v time  # 日志加上时间
adb logcat -v time -f /data/test/a.log      # 将有时间的日志输出到文件 。
adb logcat -s WifiStateMachine              # 输出tag为WifiStateMachine的日志,相当于筛选的关键字

# 3. 只加上过滤器
adb logcat *:I      #输出大于等于I级别的日志
adb logcat end:W    # 输出end标签以及W及以上级别日志

# 4. 选项和过滤器都包含的情况
adb logcat -v time *:W          # 输出日期格式并且为W级别以及以上的日志


# 5. 也可以加上findstr进行字符过滤 ,需要注意的是在windows下运行为findstr,在手机端运行为grep
adb logcat | findstr 过滤符
adb logcat | findstr com.motk

7.脚本及调试

7.1 start-server命令

# 语法格式 :adb start-server 
# 作用 :启动adb服务,因为和真机连接时间长时,有可能出现异常,通过此命令可以重启此服务
# 示例 :
    adb start-server

7.2 kill-server命令

# 语法格式 :adb kill-server
# 作用 :停止adb服务
# 示例 :
    adb kill-server

7.3 get-state命令

# 语法格式 :adb get-state
# 作用 :查看adb服务
# 示例 :
    adb get-state       

7.4 get-devpath命令

# 语法格式 :adb get-devpath
# 作用 :获取设备路径
# 示例 :
    adb get-devpath     # 获取设备路径

7.5 remount命令

# 语法格式 :adb remount
# 作用 :重新挂载文件系统 ,一般运行此命令前需要先运行adb root
# 示例 :
    adb remount

7.6 root命令

# 语法格式 :adb root
# 作用 :以root权限重启adbd守护进程
# 示例 :
    adb root

7.7 usb命令

# 语法格式 :adb usb
# 作用 :通过usb重启adbd监听
# 示例 :
    adb usb

7.8 tcpip命令

# 语法格式 :adb tcpip port
# 作用 :通过TCP重启adbd监听
# 示例 :
    adb uninstall com.lchr.diaoyu

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人,不代表IT壹频道。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。转载请注明出处:https://www.1pindao.com/baike/20328.html

(0)
上一篇 2022年 12月 15日 16:59:25
下一篇 2022年 12月 15日 17:06:34

相关推荐

  • 鲁达人物性格及情节(鲁达的性格特点及事例5个)

    一、人物绰号: 鲁达――鲁提辖(官名)――鲁智深(法号)――花和尚(因其背上有花绣); 二、人物个性: 有勇有谋、粗中有细、嫉恶如仇、杀富济贫、坚定勇敢,鲁莽直率、俠肝义胆、豁达明理。 三、精彩故事情节的概括:   1.拳打镇关西   起因: 鲁提辖(鲁智深)在当和尚之前,和李忠、史进在酒楼中喝酒,听人啼哭,扰了酒兴,大怒,便问何事.一姓金父女道:有一个卖肉…

    2022年 12月 12日 百科知识
    176
  • 微信搜索功能是什么(微信搜一搜的玩法攻略)

    最近几次微信更新中,有些小细节变化,不知道大家发现没。 比如在搜一搜界面,右侧的麦克风符号变成了相机符号。 原本的语音搜索功能,被调整到下一级菜单,点击搜索栏之后会看到。 对应地,相机符号就是图片搜索功能喽。 图片搜索支持选择局部,或选中图中文字,进行搜索。 机哥实测,搜手机图片,出来了手机壳,而不是手机型号? 但搜人像还挺准的,能识别出图中是哪位明星。 大…

    2022年 11月 18日 百科知识
    348
  • ai快捷键常用表大全(史上最全的ai软件快捷键)

    哈喽!这里是你们熟悉的小鲸。咳咳,想和大家分享一些Ai常用的快捷键,助大家工作速度蹭蹭蹭提高起来。 当然,快捷键不用死记硬背,只要日常勤加练习,就自然而然地记住啦!请大数据推给想学AI的宝子们~

    2023年 1月 21日 百科知识
    151
  • 节操是什么意思(一文读懂节操的真正含义)

    你知道节操是什么意思吗?随着网络的快速发展,促使了许多新名词的出现,如果不了解岂不是太落伍了,下面我们一起来看看节操是什么意思吧。 节操就是气节操守的统称。气节操守,是做人的标准,是检验灵魂的试金石。具有高尚节操者,诚信无欺,见义勇为,甚至舍生取义。他们能做到:“富贵不淫,贫贱不移,威武不屈”。 无节操者,见利忘义,贪生怕死,以致卖国求荣,他们灵魂里充满铜臭…

    2022年 12月 18日
    223
  • pc材质是什么材料(pc和塑料的区别详解)

    PC是聚碳酸酯塑料,属于工程塑料一类,透明性好、强度高、耐候性好,常用作光学制品、光盘、阳光板等。 白色PC颗粒料 PC和塑料的区别是: 1、PC和塑料是两种不同的聚合物; 2、价格相差比较大,PC比塑料价格高; 3、塑料通常具有不错的阻燃性,PC阻燃性能较差 4、塑料不耐高温,加工时(150-200度左右)必需加热稳定剂;PC加工耐温性(260-290左右…

    2022年 12月 8日
    197
  • 3c产品是什么意思(3c电子产品大全图片详解)

    3C,是计算机(Computer)、通讯(Communication)和消费电子产品(ConsumerElectronics)三类电子产品的简称。那么3C产品包含了什么,如果你想要带货就需要了解下这份清单了!让你知道3C数码领域有哪些产品! 运营商 合约机 : 运营商联合手机厂商推出的手机,早期比较多,如今相对少了很多 手机卡 : SIM卡,在中国运营商有联…

    2022年 12月 1日
    202