monkeyRunner
功能:安装应用,测试安装包,运行应用,发送指令,截图并保存
在功能/框架层面 测试应用、设备,运行单元测试,但是并不限制你应用于其他方面
可以通过一套或多套测试,同时控制一个或多个设备。
monkeyrunner是一个API工具,使用Jython(使用Java语言实现的Python,可以轻松对接Android框架,又可以使用python的语法)支持。所以你可以拓展基于Python的module和程序来更好的操作设备。通过使用monkeyrunner API,可以使用 Python os 和subprocess modules来调用ADB
(Python table of content os在16.1,subprocess在17.5 )
使用示例
官方示例
//使用示例
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
# 需要先连接设备,然后此方法会自己获取实例
device = MonkeyRunner.waitForConnection()
# 会返回一个boolean值
device.installPackage('myproject/bin/MyApplication.apk')
#
package = 'com.example.android.myapplication'
activity = 'com.example.android.myapplication.MainActivity'
runComponent = package + '/' + activity
device.startActivity(component=runComponent)
# 有个神坑,如果用touch,需要传入xy参数,文中说从顶开始,有些还是得去掉statusBar的高度(我的返回按钮要,而中间的内容不用。。。)
# 执行touch,DOWN_AND_UP无法切换switchBtn的check状态
device.press('KEYCODE_MENU', MonkeyDevice.DOWN_AND_UP)
# 截图,这是个MonekyImage对象
result = device.takeSnapshot()
result.writeToFile('myproject/shot1.png','png')
API:
MonkeyRunner;MonkeyDevice;MonkeyImage
monkeyRunner程序位于sdk/tools/bin下,
# 运行*.py文件方式
# -plugin在每个插件包前都要添加,file为python文件,option是输入参数
monkeyrunner -plugin <plugin_jar> <program_filename> <program_options>
# 帮助
monkeyrunner help.py <format> <outfile> //format为text或html,outfile是路径
深入一些的示例
自定义插件
自定义拓展插件请看原文最下方
作者:u013867301 发表于2017/5/22 22:02:49 原文链接
阅读:12 评论:0 查看评论