Android测试

Android测试

Monkey

发送伪随机用户指令工具
在Android系统有集成,ADB即可调起

  • adb logcat | grep START : 查看当前活动的APP信息
  • adb shell monkey -p packagename 1000 : 1000个随机指令
    • --throttle 1000 : 1秒执行一个事件
    • -s 100 : 每一个SEED代表一个固定的随机动作指令串,两次-s 100 会执行完全相同的随机指令
    • --pct-touch 100 : 随机事件百分之百是触摸事件
    • --pct-motion 100 : 随机事件百分之百是动作事件
    • --pct-trackball 100 : 随机事件百分之百是轨迹球事件
    • --pct-nav 100 : 随机事件百分之百是导航事件(上下左右)
    • --pct-syskeys 100 : 随机事件百分之百是系统事件,如HOME、音量键、回退键
    • --pct-appswitch 100 : 随机事件百分之百是activity切换事件
    • --ignore-crashes 100 : 忽略一百次崩溃事件
    • --ignore-crashes 100 : 忽略一百次ANR事件

MonkeyScript

可以被Monkey识别的命令集合
让monkey完成指定重复的操作

  • adb shell monkey -f<scriptfile><eventCount> : 启动Monkey脚本文件
  • DispatchTrackball(...) : 轨迹球事件
  • DispatchPointer(...) : 点击事件
  • DispatchString(...) : 字符串事件
  • LaunchActivity : 启动Acivity
  • UserWait() : 用户等待事件
  • DispatchPress(int keyCode) : 模拟回车事件(keyCode = 66)

int action 0表示按下,1表示弹起
exported=true, Activity可以被外部调起

MonkeyRunner

提供API完成更多模拟事件和截屏操作
封装了的Monkey

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice,MonkeyImage

  • MonkeyRunner : 用于连接设备和模拟器
//连接设备  deviceName通过adb shell device 查看
device=MonkeyRunner.waitForConnection(3,"deviceName")
//启动app
device.startActivity("packagename/packagename+activityname")
//等待3秒
MonkeyRunner.sleep(3)
  • MonkeyDevice : 提供安装、卸载应用服务,发送模拟事件
    • touch(int x,int y,string action) : 模拟点击事件
    • type(string str) : 模拟输入事件
    • press(string keyCode,string action) : 模拟键盘点击事件
    • takeSnapShot() : 截图
  • MonkeyImage : 完成图像保存与对比操作
    • writeToFile(string fileName,string 后缀) : 把截图文件写入到本地

发表评论

电子邮件地址不会被公开。 必填项已用*标注