多平台统一管理软件接口,如何实现多平台统一管理软件接口
261
2022-08-29
python使用monkeyrunner对录制脚本进行回放脚本(python 直播录制脚本)
Android SDK与Python环境配置完毕,调用MonkeyRunner的MonkeyRecorder与MonkeyRunner接口启动脚本录制工具,脚本我命名为app_playback.py,把编写的脚本放在Android SDK安装目录下面的\tools目录下,与monkeyrunner.bat在同一级目录下:
#coding=utf8#需要用到命令行参数列表因此导入sysimport sys #导入monkeyrunner用来操作设备from com.android.monkeyrunner import MonkeyRunner #窗念一个命令哈希表,定义操作事件CMD_MAP = { 'TOUCH': lambda device, arg: device.touch(**arg), 'DRAG': lambda device, arg: device.drag(**arg), 'PRESS': lambda device, arg: device.press(**arg), 'TYPE': lambda device, arg: device.type(**arg), 'WAIT': lambda device, arg: MonkeyRunner.sleep(**arg) } #处理录制脚本文件#定义两个参数:#scriptfile----录制脚本的文件名#device--------当前设备def process_file(scriptfile, device): #读取文件信息 for line in scriptfile: #文件以|进行分割 #把命令放入cmd中 #把命令操作之后的信息存入rest中 (cmd, rest) = line.split('|') try: #将字符串rest当成有效的表达式来求值并返回计算结果 rest = eval(rest) except: print 'unable to parse options' continue #判断命令是否在 CMD_MAP中 if cmd not in CMD_MAP: print 'unknown command: ' + cmd continue #回放脚本中命令操作 CMD_MAP[cmd](device, rest) def main(): #在命令行输入例如: #monkeyrunner app_playback "文件名[可以带有路径]" file = sys.argv[1] #打开录制脚本 scriptfile = open(file, 'r') #对连接的对象创建一个对象 device = MonkeyRunner.waitForConnection() #调用回放函数,对脚本进行回放 process_file(scriptfile, device) #关闭脚本文件 scriptfile.close(); #判断是否作为运行程序#如果是运行main函数 if __name__ == '__main__': main()
命令执行状态,如果第一次执行脚本时,会准备monkeyrunner与python环境,我执行命名如下:
上面一大坨是用于演示,首次执行脚本时候的操作; 执行成功后再次执行相同的命令,如果没有错误,说明脚本执行成功,你可以看到手机上的app被打开
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~