Monkeyrunner Recorder是Monkeyrunner的图形GUI工具,用户可以直接操作来生成测试脚本。
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner.recorder import MonkeyRecorder as recorder
device=mr.waitForConnection()
recorder.start(device)
启动成功之后显示界面如下:
直接在界面点击操作即可,右侧会自动生成操作的内容,操作完成之后可以导出脚本。(任意后缀名或无后缀均可以) 录制导出后脚本如下:
TOUCH|{'x':69,'y':922,'type':'downAndUp',}
TOUCH|{'x':200,'y':776,'type':'downAndUp',}
TOUCH|{'x':657,'y':56,'type':'downAndUp',}
TOUCH|{'x':186,'y':282,'type':'downAndUp',}
TYPE|{'message':'zxw2017',}
TOUCH|{'x':267,'y':370,'type':'downAndUp',}
TYPE|{'message':'123456',}
TOUCH|{'x':355,'y':472,'type':'downAndUp',}
1.首先准备好回放脚本的编译代码 playback.py:
import sys
from com.android.monkeyrunner import MonkeyRunner as mr
CMD_MAP = {
'TOUCH':lambda dev,arg:dev.touch(**arg),
'DRAG': lambda dev,arg:dev.drag(**arg),
'TYPE': lambda dev,arg:dev.type(**arg),
'PRESS': lambda dev,arg:dev.press(**arg),
'WAIT': lambda dev,arg:mr.sleep(**arg)
}
def process_file(f,device):
for line in f:
(cmd,rest)=line.split('|')
try:
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]
f = open(file,'r')
device = mr.waitForConnection()
process_file(f,device)
f.close()
if __name__=='__main__':
main()
该脚本的功能是将录制的脚本转化为可以回放执行的完整脚本。
monkeyrunner E:\monkeyrunner_script\playback.py E:\monkeyrunner_script\kyb_recorder
monkeyruner录制出来的脚本回放稳定性较差,特别是录制的有些操作,回放时无法操作,因此一般很少使用。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有