一、python与monkey script脚本相结合,达到修改.script脚本中的内容
1 #coding:utf-8 2 ''' 3 push脚本进室内机,并运行 4 5 ''' 6 import os 7 import re 8 import subprocess 9 10 #执行脚本11 def run_monkey(path):12 filelist=os.listdir(path)13 for filename in filelist:14 filepath=os.path.join(path,filename)15 cmd="adb remount"16 p=subprocess.Popen(cmd,shell=True)17 p.wait()18 if p.returncode!=0:19 return -120 cmd="adb push "+filepath+" sdcard/"21 p=subprocess.Popen(cmd,shell=True)22 p.wait()23 if p.returncode!=0:24 return -125 tarpath=os.path.join(r"sdcard/",filename)26 cmd="adb shell monkey -f "+tarpath+" -v 1"27 p=subprocess.Popen(cmd,shell=True)28 p.wait()29 if p.returncode!=0:30 return -131 32 #修改脚本的内容33 def modify_monkey(path,repstr):34 filelist=os.listdir(path)35 for filename in filelist:36 filepath=os.path.join(path,filename)37 contect=""38 with open(filepath,encoding='utf-8') as file:39 text=file.read()40 pattern=re.compile(r"captureDispatchString(.*)")41 repstr="captureDispatchString({})".format(repstr)42 contect=re.sub(pattern,repstr,text)43 with open(filepath,mode='w',encoding='utf-8') as file:44 file.write(contect) 45 if __name__=="__main__":46 path=r"C:\Users\Administrator\Desktop\pythoncmd\runscript"47 times=50048 for i in range(times):49 modify_monkey(path,str(i))50 run_monkey(path) 51 print("执行完毕") 52
二、push .apk和.so文件自动化
1 #coding:utf-8 2 ''' 3 push脚本进室内机,并运行 4 5 ''' 6 import os 7 import re 8 import subprocess 9 10 #执行脚本11 def push_apk(path):12 filelist=os.listdir(path)13 cmd="adb remount"14 p=subprocess.Popen(cmd,shell=True)15 p.wait()16 if p.returncode!=0:17 return -118 for filename in filelist:19 filepath=os.path.join(path,filename)20 filename,extension=os.path.splitext(filename)21 if extension==".apk":22 #print(".apk")23 cmd="adb push "+filepath+" /system/app"24 p=subprocess.Popen(cmd,shell=True)25 p.wait()26 if p.returncode!=0:27 return -128 if extension==".so":29 #print(".so")30 cmd="adb push "+filepath+" /system/lib"31 p=subprocess.Popen(cmd,shell=True)32 p.wait()33 if p.returncode!=0:34 return -1 35 cmd="adb reboot"36 p=subprocess.Popen(cmd,shell=True)37 p.wait()38 if p.returncode!=0:39 return -1 40 41 if __name__=="__main__":42 path=r"C:\Users\Administrator\Desktop\pythoncmd\pushapk"43 push_apk(path)44 print("执行完毕,正在重启") 45