Monkeyrunner命令

Posted 小蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Monkeyrunner命令相关的知识,希望对你有一定的参考价值。

1.使用Monkeyrunner脚本命令时,需要导入模块才能使用模块的脚本命令,Monkeyrunner的常用模块有

  • MonkeyRunner,MonkeyDevice,MonkeyImage,MonkeyRecorder
  • MonkeyRunner:等待连接设备,与模拟器链接,返回monkeydevice对象,代表链接的设备
  • MonkeyDevice:用来控制一个android设备或模拟器。 方法发送UI事件, 检索信息,安装和删除应用程序,并运行应用程序
  • MonkeyImage:monkeyrunner类来保存图像设备或模拟器的屏幕。 图像从屏幕缓冲区复制在一个屏幕截图。这允许你对象的方法 将图像转换为各种存储格式,写图像到一个文件,复制的部分图像
  • MonkeyRecorder:允许用户自由录制需要的脚本,录制和回放,或者获取坐标

导入这些模块的语句为:

from com.android.monkeyrunner import 模块名

也可以为每个模块设置别名,设置别名后,后续使用的脚本使用到模块名都是使用别名:from com.android.monkeyrunner import 模块名 as 别名

以上模块导入的语句为:

from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice  as md
from com.android.monkeyrunner import MonkeyImage as mi
from com.android.monkeyrunner.recorder import MonkeyRecorder as mre

如果全部导入的话,也可以直接使用一条语句:from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice ,MonkeyImage,MonkeyRecorder

2.基础命令

(1)模块导入之后,开始连接模拟器的安卓设备或者真机设备进行测试,

连接设备:device=MonkeyRunner.waitForConnection(超时时间,设备名)

(2)设备连接成功后,安装需要测试的apk,参数为apk的路径

device.installPackage(\'apk路径\')

如果需要删除卸载某些apk,则可以使用命令:device.removePackage(\'apk路径\')

(3)设备连接后,可以用命令启动任意的Activity:device.startActivity(component="包名/Activity名")

例如,已知启动页的Activity名,则可以用命令打开软件的启动页。

(4)在使用命令中,有时要缓冲下等待某个操作加载完,可以使用命令:MonkeyRunner.sleep(秒数,浮点数),例如MonkeyRunner.sleep(3)等待3秒

(5)测试过程中,如果需要进行截图并且将截图保存起来:

result=device.takeSnapshot() //截图

result.writeToFile(\'写入的文件名\\\\截图命名\',\'截图的格式例如jpg等\') //保存截图

(6)在文本框中输入内容可以先定位写入的地方,然后写入内容

device.touch(横坐标,纵坐标) //定位文本框位置

device.type(‘字符串’)//写入内容

(7)滑动屏幕:MonkeyRunner.drag(开始坐标,结束坐标,方向,滑动步数)

例如,向左滑动一步,0.1为时间:MonkeyRunner.drag((200,300),(100),0.1,1)

(8)按键:device.press()例如按手机的Home键,device.press("KEYCODE_HOME")

点击:device.touch()

其参数的值有:DOWN,UP,DOWN_AND_UP

例如已知某个按钮的横纵坐标,便可以进行点击操作:device.touch(100,200,"DOWN_AND_UP")

(9)如果屏幕黑屏,可以唤醒屏幕:device.wake()

3.录制回放脚本

录制和回放需要两个脚本文件monkey_recorder.py和monkey_playback.py,所以需要导入我们第一点说的MonkeyRecorder的模块,导入后

  • 录制

开始录制:recorder.start(device)

执行脚本:monkeyrunner  monkey_recorder.py

打开的录制界面的工具栏:

功能如下:

wait:等待时间设置

press a button:点击按钮

Type Something:文本框输入

Fling:滑动

Export Actions:导出脚本

Refresh Display:刷新

  • 回放

回放脚本的命令:monkeyrunner  monkey_playback.py  录制的脚本文件名.mr

录制后将导出的脚本存放在monkeyrunner的文件夹即sdk/tools文件中,方便使用

 

以上是关于Monkeyrunner命令的主要内容,如果未能解决你的问题,请参考以下文章

Monkeyrunner测试小实践

MonkeyRunner

MonkeyRunner环境搭建

第14章5节《MonkeyRunner源代码剖析》 HierarchyViewer实现原理-装备ViewServer-查询ViewServer执行状态

MonkeyRunner 第一天

monkeyrunner_获取apk的包名和activity名