APP移动端自动化测试(七)Adb命令与Monkey工具实施

 

1.adb的组成

adb:Android 调试桥接  Android Debug Bridge,是一个 C/S 架构的命令行工具
作用:PC通过adb来操作手机,还可以进行很多手机操作,如安装软件、系统升级、运行shell 命令等。

adb由三部分组成:
(Client客户端)--->可以通过它对 Android 应用进行安装、卸载及调试
服务端(Service)--->管理客户端到 Android 设备上 adb 后台进程的连接
守护进程--->(adb daemon)运行在 Android 设备上的 adb 后台进程

adb 命令格式

2.adb基础命令使用

文件传输与安装命令

adb push f:\a.txt /sdcard/
adb pull /sdcard/a.txt f:\b.txt
adb install F:\baidu.apk
adb uninstall  com.baidu.searchbox
退出shell: exit

获取信息命令

start-server   开启adb服务
kill-server  杀掉adb服务

Log相关命令

logcat  输出Android系统日志
shell  进入远程shell端

3.Android adb shell常用命令

文件操作基础命令

4.monkey介绍

    Monkey是Google提供的一个命令行工具,可以运行在模拟器或者实际设备中。它向系统发送伪随机的用户事件(如按键、手势、触摸屏等输入),对软件进行稳定性与压力测试。

Monkey是什么:
Monkey是Google提供的一个用于稳定性与压力测试的命令行工具。
Monkye路径:
Monkey程序是Android系统自带的
路径: /system/framework/Monkey.jar

Monkey是由adb命令启动,故需要配置adb环境(windows环境为例)
下载Android SDK,解压将SDK目录下的platform-tools和tools目录配置到系统环境变量中
打开cmd窗口,输入adb,有adb帮助信息则配置成功

adb shell monkey -v  -v -v  100 >f:\monkey.txt
adb shell monkey -v  -v -v  100 >/sdcard/monkey.txt
adb shell monkey -v  -v -v  100 1>f:\monkeylog.txt 2>f:\monkeyerror.txt

5.Monkey 基本参数与事件参数

monkey基本参数

adb shell monkey --help
adb shell monkey -v  -v -v  100

Monkey测试的约束条件

-p <允许执行的包名列表>

如果用此参数指定了一个或几个包,Monkey将只允许系统启动这些包里的Activity。
如果你的应用程序还需要访问其它包里的Activity(如选取一个联系人),那些包也需要在此同时指定。如果不指定任何包,Monkey将允许系统启动全部包里的Activity。要指定多个包,需要使用多个 -p选项,每个-p选项只能用于一个包

adb shell monkey -p com.tal.kaoyan -v  -v -v  1000 1>f:\monkeylog.txt 2>f:\monkeyerror.log

Monkey发送的事件类型和频率 

adb shell monkey -p com.tal.kaoyan --throttle 200 -v -v -v 100
adb shell monkey -p com.tal.kaoyan -s 123 -v  -v -v  1000 1>f:\monkeylog.txt2>f:\monkeyerror.log 

 

Monkey结果详细解读

// Seeded: 1435740661667                 随机种子
// Event percentages:
//   0: 15.0%                                             事件0:--pct-touch
//   1: 10.0%                                             事件1:--pct-motion
//   2: 2.0%                                               事件2:--pct-pinchzoom
//   3: 15.0%                                             事件3:--pct-trackball
//   4: -0.0%                                              事件4:--pct-rotation
//   5: 25.0%                                             事件5: --pct-nav
//   6: 15.0%                                             事件6:--pct-majornav
//   7: 2.0%                                               事件7:--pct-syskeys
//   8: 2.0%                                               事件8: --pct-appswitch
//   9: 1.0%                                               事件9:--pct-flip
//   10: 13.0%                                           事件10:--pct-anyevent
adb shell monkey -p com.tal.kaoyan --pct-touch 100 --throttle 200
-v -v -v 100
adb shell monkey -p com.tal.kaoyan --pct-touch 50 --pct-rotation 1
0 --throttle 200 -v -v -v 100

可以指定多个事件,百分比不能大于100,如果百分比小于100,剩余事件随机分配.

5.Monkey 调试参数

Android常见错误类型

默认遇到报错,脚本会停止执行

--ignore-crashes  通常,当应用程序崩溃或发生任何失控异常时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发送事件,直到计数完成

--ignore-timeouts  应用程序发生任何超时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发送事件,直到计数完成

adb shell monkey -p com.tal.kaoyan --pct-touch 30 --pct-rotation 10 --throttle 200 --ignore-crashes   --ignore-timeouts   -v -v -v 100

6.Monkey测试策略介绍

策略例子1:固定或随机种子、随机事件
测试计算器30万次,随机种子为100,随机延迟0-1秒,忽略所有错误

adb shell monkey  -p com.android.calculator2  -s 100 --throttle 1000 --randomize-throttle --ignore-crashes --ignore-timeouts -v -v 300000

策略例子2:依据应用策略对Monkey各事件进行划分百分比
测试计算器,触摸事件30%,其他按键50%,错误停止,延时200
 

adb shell monkey -p com.android.calculator2 --throttle 200 --pct-touch 30 --pct-anyevent 50 -v -v 100000

策略例子3:对某个事件提高到很高的百分比,对应用进行专项测试
对计算器进行旋转压力测试,事件延时2秒,10万次

adb shell monkey -p com.android.calculator2 --pct-rotation 100 --throttle 2000 100000

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值