1.monkeyrunner脚本:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice import sys import time import os
# add action here key_map = {'d':[lambda x,y:sendKey(x, y), 'KEYCODE_ENTER'], 'e':[lambda x,y:sendKey(x, y), 'KEYCODE_DPAD_UP'], 'c':[lambda x,y:sendKey(x, y), 'KEYCODE_DPAD_DOWN'], 's':[lambda x,y:sendKey(x, y), 'KEYCODE_DPAD_LEFT'], 'f':[lambda x,y:sendKey(x, y), 'KEYCODE_DPAD_RIGHT'], 'b':[lambda x,y:sendKey(x, y), 'KEYCODE_BACK'], 'm':[lambda x,y:sendKey(x, y), 'KEYCODE_MENU'], 'j':[lambda x,y:takeSnapshot(x), 'take snapshot'], 'q':['quit', 'quit'], 'u':[lambda x,y:usage(), 'usage'], '1':[lambda x,y:startActivity(x, y), 'com.example.test/.Activity1'], '2':[lambda x,y:startActivity(x, y), 'com.example.test/.Activity2'], } # the directory snapshot file saved save_dir = "F:\\" def sendKey(device, key): device.press(key) def startActivity(device, activity): device.startActivity(component=activity); def takeSnapshot(device): result = device.takeSnapshot() curtime = time.strftime("%Y%m%d%H%M%S", time.localtime()) filename = save_dir + curtime + ".png" print "save to: " + filename result.writeToFile(filename, 'png') def usage(): print "Usage:" items = key_map.items() items.sort() for (k,v) in items: print '\t' + k + ' => ' + v[1] def sendCommand(): usage() print "init..." device=MonkeyRunner.waitForConnection() print "enter a key:" while(True): c = sys.stdin.read(1) action = key_map.get(c, '') if(action == ''): continue; elif(action[0] == 'quit'): break; else: action[0](device, action[1]); if __name__ == '__main__': sendCommand()
2.批处理运行脚本
:: set android sdk path set SDK_PATH=D:\adt-bundle-windows-x86-20130219\sdk :: start script %SDK_PATH%\tools\monkeyrunner %~dp0\sendcmd.py