一 Monkey程序介绍
(1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar;
(2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统 中 的存放路径是:/system/bin/monkey;
(3)Monkey 命令启动方式: a)可以通过PC机CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试 b)在PC上adb shell 进入Android系统,通过执行 monkey {+命令参数} 来进行Monkey 测试 c ) 在Android机或者模拟器上直接执行monkey 命令,可以在Android机上安装Android终端模拟器
1 adb shell monkey 100 ----执行monkey测试100次 针对rom测试或者
2 adb shell monkey -p 包名 100
用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。如果不指定包, monkey将 允许系统启动设备中的所有app。 指定一个包:
3 显示日志详细程度
L e v e l 1 : a d b s h e l l m o n k e y - p 包 名 - v - v 3 0 / / 提 供 较 为 详 细 的 日 志 , 包 括 每 个 发 送 到 A c t i v i t y 的 事 件 信 息
L e v e l 2 : a d b s h e l l m o n k e y - p 包 名 - v - v - v 3 0 / / 最 详 细 的 日 志 , 包 括 了 测 试 中 选 中 / 未 选 中 的 A c t i v i t y 信 息
4 将log信息写到本地
adb shell monkey 100 >路径
5 -s 随机数种子
用亍指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。 示 例: monkey测试1:adb shell monkey –s 10 100 monkey测试2:adb shell monkey –s 10 100
6 --throttle 限制操作每个事务的之间的时间
用亍指定用户操作(即事件)间的时延,单位是毫秒;如果不指定这个参数,monkey会尽可能快的 生成和发 送消息。 例:adb shell monkey -p com.example.login --throttle 300 100 表示执行100个伪随机用户事件流,事件间隔为300毫秒。 注:一般设置为300毫秒,原因是实际用户操作的最快300毫秒左右一个动作事件。
7 --pct-touch 触摸事件
调整触摸事件的百分比。(触摸事件是指在屏幕中的一个down-up事件,即在屏幕某处按下并抬起的操作) –pct-touch:触摸事件。即在某一位置的Down-Up(手指的放下和抬起)事件。Down(ACTION_DOWN)和 Up(ACTION_UP)的坐标临近,但并非相同。 如:adb shell monkey --pct-touch 67 -v 10 表示执行10个伪随机用户事件流,并调整其中触摸事件的百分比为67%。 注:此参数设置要适应当前被测应用程序的操作,比如一个应用80%的操作都是触摸,那就可以将此参数的百 分比设置成相应较高的百分比。
--pct-motion
调整手势事件motion事件百分比。(motion事件是由屏幕上某处一个down事件、一系列伪随机的移动事件和 一个up事件组成) –pct-motion:动作事件。以Down(ACTION_DOWN)开始,Up(ACTION_UP)结尾,中间至少有一次Move (ACTION_MOVE)。 如:adb shell monkey --pct-motion 67 -v 10 表示执行10个伪随机用户事件流,并调整其中动作事件的百分比为67%。 注:这里的移动是直线滑动
参考:https://blog.youkuaiyun.com/u011436666/article/details/53998332
8 --ignore-crashes
作用:通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直 到事件计数完成。 正常操作,不忽略异常
9--ignore-timeouts(ANR)
作用:通常,应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运 行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。 adb shell monkey --ignore-timeouts –v 10 同上
补充:--pct-touch 50:指定具体的某个事务的占比
真机测试
1 第一步:让手机显示开发者选项
多次点击版本号,显示开发者选项
允许USB调试
若使用真机,用USB将手机和电脑连接,在手机端进行操作: (1)选择USB连接方式为设备文件管理; (2)设置->开启开发者选项->勾选‘USB调试’(真机和模拟器上皆需进行)
检测连接设备
在终端中输入’adb devices‘,此时已连接设备列表下应存在设备序列号
Appium环境搭建
1. 运行appium-desktop-Setup-1.2.7.exe,默认安装即可
2. 启动客户端,按图片步骤 1 -> 2 -> 3 -> 4 设置
3. 启动成功展示如下图
2.2.1.3 Appium命令行安装方式
1. 安装Node.js ->Win:官网下载可执行包安装(Linux: yum install; Macos: brew install)
2. 安装完成后 命令行运行npm或node -v 来查看是否安装成功
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True