您的位置:首页 > 其它

Monkey+MonkeyRunner+MonkeyScript 自动化测试工具

2018-02-02 14:37 393 查看

Monkey相关

Monkey

MonkeyRunner

MonkeyScript

Monkey

Monkey测试是测试软件的稳定性、健壮性的压力测试工具

Monkey测试的对象为应用的程序,时间数据流是随机的,不能自定义

Monkey是Android中的一个命令行工具,存在于手机系统里,可以运行在模拟器里或实际设备中。

Monkey在adb shell中生成用户或者系统的伪随机事件,并向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行测试。

Monkey相关的所有指令:

C:\Users\admin>adb shell monkey -help
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
[--ignore-crashes] [--ignore-timeouts]
[--ignore-security-exceptions]
[--monitor-native-crashes] [--ignore-native-crashes]
[--kill-process-after-error] [--hprof]
[--pct-touch PERCENT] [--pct-motion PERCENT]
[--pct-trackball PERCENT] [--pct-syskeys PERCENT]
[--pct-nav PERCENT] [--pct-majornav PERCENT]
[--pct-appswitch PERCENT] [--pct-flip PERCENT]
[--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
[--pct-permission PERCENT]
[--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
[--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
[--wait-dbg] [--dbg-no-events]
[--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
[--port port]
[-s SEED] [-v [-v] ...]
[--throttle MILLISEC] [--randomize-throttle]
[--profile-wait MILLISEC]
[--device-sleep-time MILLISEC]
[--randomize-script]
[--script-log]
[--bugreport]
[--periodic-bugreport]
[--permission-target-system]
COUNT


Monkey指令使用举例:

生成500个事件、延时为10ms
adb shell monkey -p Package -v -v -v -s 10 500
出现异常时,不停止运行
adb shell monkey -p Package --ignore-crashes --ignore-security-exceptions -v -v -v -s 10 500


MonkeyRunner

MonkeyRunner

特点和作用:多台设备控制、功能测试、回归测试、可扩展自动化。

提供一系列的API、是一种自动化测试工具,通过特定的API定义特定的命令和事件控制设备。

因此可以写一个Python程序对Android应用程序或测试包进行安装,运行,发送模拟击键,对用户界面进行截图并将截图存储在指定目录上等操作。

MonkeyRunner的使用方法:

\sdk\tools目录下具有monkeyrunner.bat文件

Python脚本文件monkeyr.py放入上述目录下

然后执行之下命令:

Monkeyrunner D:\Program Files\sdk\tools\monkeyr.py

MonkeyRunner的基本功能要素有三个:

MonkeyDevice

MonkeyRunner

MonkeyImage

MonkeyScript

MonkeyScript

能够被Monkey识别的命令的集合,可以完成重复固定的操作。

脚本Monkey.script文件内容如下:

# Start of Script
type= user
count= 49
speed= 1.0
start data >>
LaunchActivity(com.android.settings, com.android.settings.Settings)
UserWait(100)
RotateScreen(1,0)
# DispatchPress(KEYCODE_HOME)


可以使用之下指令把上述文件放入指令的手机目录下,然后执行该脚本

adb -s HYLZUSQ4IFS8LJ45 push e:/Monkey.script /sdcard/
adb -s HYLZUSQ4IFS8LJ45 shell monkey -f/sdcard/Monkey.script 500


例子可见之下:

http://blog.csdn.net/jason_src/article/details/20121107

http://blog.csdn.net/ccc920123/article/details/53376560

http://blog.csdn.net/lyl00ling/article/details/77921621
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: