monkeyrunner 录制回放

1.monkey runner出了一个录制的工作,这个录制工具是在android源码里提取出来的,它的环境是python

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)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值