python使用monkeyrunner对录制脚本进行回放脚本
程序员文章站
2022-07-13 15:38:12
...
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被打开
上一篇: InfluxDB安装
下一篇: influxdb安装
推荐阅读
-
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
-
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
-
Python使用Paramiko模块编写脚本进行远程服务器操作
-
使用Python脚本对Linux服务器进行监控的教程
-
使用phpstorm对docker中的脚本进行debug的方法
-
使用shell脚本对Nginx日志进行切分的示例代码
-
Python使用Paramiko模块编写脚本进行远程服务器操作
-
python使用monkeyrunner对录制脚本进行回放脚本
-
使用Python脚本对Linux服务器进行监控的教程
-
Python使用脚本进行用户信用评分体系计算的案例教程