测试:python调用cmd命令,让push包自动化

一、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 -1
20         cmd="adb push "+filepath+" sdcard/"
21         p=subprocess.Popen(cmd,shell=True)
22         p.wait()
23         if p.returncode!=0:
24             return -1
25         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 -1
31
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=500
48     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 -1
18     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 -1
28         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         
时间: 2024-08-11 23:12:07

测试:python调用cmd命令,让push包自动化的相关文章

测试:python调用cmd命令三种方法

目前我使用到的python中执行cmd的方式有三种 使用os.system("cmd") 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中"exit 1"的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,则函数的返回值是0×100,换算为10进制得到256. 如果我们需要获得os.system的正确返回值,那使用位移运算可以还原返回值: >>>

Python调用7zip命令实现解压

Python调用7zip命令实现文件批量解压 1.输入压缩文件所在的路径 2.可以在代码中修改解压到的文件路径和所需要解压的类型,列入,解压文件夹下面所有的mp4格式的文件 3.cmd 指的就是Python调用dos命令 ,紧跟着的x -r这些全是参考7zip使用书册,及抽取文件夹下所有的以mp4结尾的文件,把文件放入e盘,测试解压文件夹下的new文件夹 # 调用7z命令批量解压文件 import os folder_name = input("请输入文件夹:") os.chdir(f

python 调用shell命令三种方法

#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器: #!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里. python调用shell命令的方法有许多 1.1   os.system(command) 在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态.这实际上是使用C标准库函数system()实现的.这个函数在执行comman

python 调用shell命令的方法

在python程序中调用shell命令,是件很酷且常用的事情…… 1. os.system(command) 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出状态,如果command有执行内容,会在标准输出显示.这实际上是使用C标准库函数system()实现的. 缺点:这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果. 实例:os.system('ls -l *') 2. os.popen(command,

客户端调用 CMD 命令并回显结果。

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Windows.Forms; using Syste

Java调用cmd命令 打开一个站点

使用Java程序打开一个站点 近期做了个东西使用SWT技术在一个client程序 须要升级时在提示升级 点击窗口上的一个连接 打开下载网页 花费了我非常长时间 用到了把它记录下来  怕是忘记,须要时能够直接来用到.         try { //不是在Java程序中运行而是在操作系统中运行             Runtime.getRuntime().exec("cmd /c start http://blog.csdn.net/blogluoqi/"); //Runtime.g

JAVA中调用CMD命令,并输出执行结果

package com.wzw.util; import java.io.BufferedReader; import java.io.InputStreamReader; public class CmdDemo { public static void main(String[] args) { BufferedReader br = null; try { Process p = Runtime.getRuntime().exec("net user"); br = new Bu

python调用shell命令

1.1   os.system(command) 在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态.这实际上是使用C标准库函数system()实现的.这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果. 1.2   os.popen(command,mode) 打开一个与command进程之间的管道.这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是'r').如果mode为'r',可以

h5页面调用cmd命令并隐藏cmd弹窗

js代码 /*** 通过js调用cmd命令利用ffmpeg实现录屏或者录像功能 ***/ var  cmd = new ActiveXObject("WScript.Shell"); /* 命令参数说明 cmd.exe /c dir 是执行完dir命令后关闭命令窗口. cmd.exe /k dir 是执行完dir命令后不关闭命令窗口. cmd.exe /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭. cmd.exe /k start dir 会打开一个新窗口后