【主要功能】
开源云真机平台-Sonic平台-python自定义脚本:
1、批量导出monkey测试日志
2、抓取logcat日志
3、将导出的日志批量复制到局域网内的制定电脑上进行收集整理;
4、每一台设备的monkey日志、logcat日志单独存储,并以日期+设备序列号的方式保存;
【详细代码】
# -*- coding: utf-8 -*-
import os
import subprocess
import time
import threading
import os,sys,json
udId = sys.argv[1:][1]
text1 = sys.argv[1:][2]
ftp_path = r"\\10.11.12.2\share\MonkeyLogs"
print("ftp_path=" + ftp_path)
current_time = time.strftime("%Y%m%d_%H%M%S")
date_path = time.strftime("%Y%m%d_%H")
pc_path = os.path.join(ftp_path, f"MonkeyLogs_{date_path}", current_time + "_" + udId)
if not os.path.exists(ftp_path):
os.makedirs(ftp_path)
if not os.path.exists(pc_path):
os.makedirs(pc_path)
def run_command(command):
print(f"command={command}")
os.system(command)
time.sleep(1)
def run_test():
print(f"monkey logs uploading...")
run_command(f"""adb -s {udId} shell settings put global policy_control null""")
run_command(f"""adb -s {udId} pull /sdcard/MonkeyLog.text {pc_path}""")
run_command(f"""adb -s {udId} pull /sdcard/MonkeyError.text {pc_path}""")
run_command(f"""adb -s {udId} shell sleep 3""")
thread = threading.Thread(target=logcat, args=())
thread.start()
print("60S后重启.")
time.sleep(60)
run_command(f"""adb -s {udId} reboot""")
print(f"android device rebooting...")
def logcat():
print(f"logcat logs uploading...")
run_command(f"""adb -s {udId} logcat -v time > {pc_path}\\{udId}_logcat.log &""")
if __name__ == "__main__":
run_test()