python使用monkeyrunner对录制脚本进行回放脚本

xiaoxiao2021-02-28  117

Android SDK与Python环境配置完毕,调用MonkeyRunner的MonkeyRecorder与MonkeyRunner接口启动脚本录制工具,脚本我命名为app_playback.py,把编写的脚本放在Android SDK安装目录下面的\tools目录下,与monkeyrunner.bat在同一级目录下:

#coding=utf8 #需要用到命令行参数列表因此导入sys import 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被打开 WEL测试 认证博客专家 软件测试 性能测试 接口测试 一线的测试工作人员。喜欢专研并应用新的技术,用于提升测试效率。擅长:测试新人培训、测试进阶、接口测试、性能测试、问题定位、自动化、数据测试、渗透测试! 如果对测试感兴趣或者遇到一些难题,可以加我微信:Wel_Test,加时填好备注!
转载请注明原文地址: https://www.6miu.com/read-19948.html

最新回复(0)