Android Monkey学习总结

1.发送压力指令
对整个手机进行测试:adb shell monkey 1000
查询应用报名:adb shell “logcat | grep START”
测试单个应用:adb shell monkey -p com.mazaiting.face 1000

2.应用
throttle参数:指定事件之间的延时:adb shell monkey -p com.mazaiting.face –throttle 1000 10 (其中–throttle后跟的1000是每个操作之后间隔1000ms)

seed参数:adb shell monkey -p com.mazaiting.face -s 100 10(100用来控制两次执行路径相同)

触摸事件参数:adb shell monkey -v -p com.mazaiting.face --pct-touch 100 100(其中-v参数将触摸位置坐标显示出来,--pct-touch后的100表示触摸100%)

动作事件参数:adb shell monkey --pct-motion <percent>

轨迹球事件:adb shell monkey --pct-trackball <percent>

基本导航事件:adb shell monkey --pct-nav <percent>

主要导航事件:adb shell monkey --pct-majornav <percent>

系统导航事件:adb shell monkey --pct-syskeys <percent>

启动Activity事件:adb shell monkey --pct-appswitch <percent>

不常用事件:adb shell monkey --pct-anyevent <percent>

崩溃事件:adb shell monkey --ignore-crashes <event-count>(忽略崩溃)

超时事件:adb shell monkey --ignore-timeouts <event-count>(ANR异常忽略)

3.手动测试时获取ANR
ANR异常信息在/data/anr/trace.txt中

4.Monkey Script
1) 执行Monkey脚本命令: adb shell monkey -f

  1. Monkey Script常用命令
    1) DispatchTrackball命令(轨迹球事件–点击操作)
    DispatchPointer/DispatchTrackball(long downtime, long eventide, int action, floatx,
    float y, float pressure, float size, int metastate, float xprecision,
    float yprecision, int device, int edgeflags)
    其实这么多参数,只需要关注action 、 x 、y 三个参数即可。
    action :事件是按下还是抬起,0 表示按下,1 表示抬起。
    x、y:表示当前事件触发的X轴和Y轴的坐标。
    DispatchPointer(10,10,action,x,y,1,1,-1,1,1,0,0)
    坐标点获取使用sdk/tools/uiautomatorviewer.bat

    2) DispatchString(输入字符串)
    DispatchString(input)

    3) LaunchActivity(启动应用)
    LaunchActivity(package,activity)

    4) UserWait命令(等待事件–单位毫秒)
    UserWait(sleepTime)

    5) DispatchPress(按下键值)
    Dispatch(int keycode) #keycode 66 回车键

6.测试Monkey Script过程
1) 启动app
2) 点击输入框
3) 输入查询词
4) 点击键盘上的回车
5) 点击搜索按钮
6) 等待结果输出
7) 清屏
8) 将monkey.script文件复制到android手机的/data/local/tmp/路径下

7 Monkey Script代码模板

typ=user
count=10
speed=1.0
start data >>

LaunchActivity(com.mazaiting.face,com.mazaiting.face.MainActivity)

8 Monkey Script启动的app未成功启动
在要启动的App中的AndroidManifest.xml中的application结点下,有个exported节点,当前应用设置为false或者未设置属性,则Monkey无法启动该app。

9 MonkeyRunner API
1) 警告框–void alert(string message, string title, string okTitle)
2) 等待设备连接–waitForConnection(float timeout, string deviceid)
10 MonkeyDevice API
1) 拖动–drag(tuple start, tuple end, float duration, integer steps)
2) 按键–press(string keycode, dictionary type)
keycode名,DOWN/UP/DOWN_AND_UP
3) 启动应用–startActivity(package+’/’+activity)
4) 点击–touch(integer x, integer y, integer type)
x坐标值,y坐标值,type:DOWN,UP,DOWN_AND_UP
5) 输入–type(string message)
6) 截屏–MonkeyImage takeSnapshot()
11 MonkeyIamge API
1) 图像对比–boolean sameAs(MonkeyImage other, float percent)
2) 保存图像文件–void writetoFile(string path, string format)

12 MonkeyRunner代码–后缀.py

#!/usr/bin/python     使用python编写 
#-*-UTF-8-*-      编码格式

from com.android.monkeyrunner import MonkeyRunner     需要导入测试模块
MonkeyRunner.alert('Hello mook friends', 'This is title', 'OK')

13 MonkeyRunner在sdk/tools/
执行demo.py脚本:monkeyrunner demo.py
Windows7执行桌面的脚本文件:monkeyrunner C:\Users\mazaiting\Desktop\demo.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值