1.monkey runner出了一个录制的工作,这个录制工具是在android源码里提取出来的,它的环境是python
2.要求把monkey_recorder.py文件放入adnroid tools文件夹下
3.要求把monkey_playback.py放入tools文件夹下
4.一个是录制一个是回放这个没的说,录制后的文件保存为mk结尾文件
2.要求把monkey_recorder.py文件放入adnroid tools文件夹下
3.要求把monkey_playback.py放入tools文件夹下
4.一个是录制一个是回放这个没的说,录制后的文件保存为mk结尾文件
5.help.py可以将录制好的文件另存为py结尾文件时直接转为monkeyRunner的运行文件
录制脚本命令:cmd 》 monkeyrunner monkeyrunner_recorder.py 》回车运行
monkeyrunner_recorder.py代码如下:
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner.recorder import MonkeyRecorder as recorder
device = mr.waitForConnection()
recorder.start(device)
回放脚本命令:cmd 》monkeyrunner monkeyrunner_playback.py 录制的脚本文件名 》回车运行
monkeyrunner_playback.py代码如下:
import sys
from com.android.monkeyrunner import MonkeyRunner
CMD_MAP = {
'TOUCH': lambda dev, arg: dev.touch(**arg),
'DRAG': lambda dev, arg: dev.drag(**arg),
'PRESS': lambda dev, arg: dev.press(**arg),
'TYPE': lambda dev, arg: dev.type(**arg),
'WAIT': lambda dev, arg: MonkeyRunner.sleep(**arg)
}
# Process a single file for the specified device.
def process_file(fp, device):
for line in fp:
(cmd, rest) = line.split('|')
try:
# Parse the pydict
rest = eval(rest)
except:
print 'unable to parse options'
continue
if cmd not in CMD_MAP:
print 'unknown command: ' + cmd
continue
CMD_MAP[cmd](device, rest)
def main():
file = sys.argv[1]
fp = open(file, 'r')
device = MonkeyRunner.waitForConnection()
process_file(fp, device)
fp.close();
if __name__ == '__main__':
main()
help.py内容如下:
from com.android.monkeyrunner import MonkeyRunner as mr
import os
import sys
supported_formats = ['html', 'text', 'sdk-docs']
if len(sys.argv) != 3:
print 'help.py: format output'
sys.exit(1)
(format, saveto_path) = sys.argv[1:]
if not format.lower() in supported_formats:
print 'format %s is not a supported format' % format
sys.exit(2)
output = mr.help(format=format)
if not output:
print 'Error generating help format'
sys.exit(3)
dirname = os.path.dirname(saveto_path)
try:
os.makedirs(dirname)
except:
print 'oops'
pass # It already existed
fp = open(saveto_path, 'w')
fp.write(output)
fp.close()
sys.exit(0)