开源云真机平台-Sonic平台-python自定义脚本-批量导出monkey测试日志并抓取logcat日志

【主要功能】

开源云真机平台-Sonic平台-python自定义脚本:

1、批量导出monkey测试日志

2、抓取logcat日志

3、将导出的日志批量复制到局域网内的制定电脑上进行收集整理;

4、每一台设备的monkey日志、logcat日志单独存储,并以日期+设备序列号的方式保存;

【详细代码】

python 复制代码
# -*- 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()
  



          

【运行效果】

【导出结果】

相关推荐
hhhjhl9 分钟前
Undici 跨端三方库仓颉适配全流程
java·开发语言·ubuntu
染指111010 分钟前
158.Agent-LangGraph-子图(共享状态和不共享状态模式)
开发语言·人工智能·python·ui·agent·agents
wangchunyu11418 分钟前
JAVA JVM内存结构与运行时数据区
java·开发语言·jvm
slongzhang_22 分钟前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
云和数据.ChenGuang2 小时前
Python 常见特殊方法详解:__new__、__init__、__del__、__str__、__repr__ 与 __getattribute__
开发语言·人工智能·python·1024程序员节
xyouyuweizhu2 小时前
字节流与字符流:Java IO 的两条主线该怎么选
java·开发语言·python
迪菲赫尔曼2 小时前
【基础篇 04】第一次使用终端:命令在哪里输入,电脑现在又“站”在哪里?
python·yolo·目标检测
qianbo_insist3 小时前
# 在 Qwen3.5-2B 上把 GDN-1 无损换成 GDN-2:一次完整的架构手术实验(负结果)
人工智能·pytorch·python·架构
多弗朗皮卡丘3 小时前
C++的IO流
开发语言·c++·io流·文件io流
骑着蜗牛撵大象3273 小时前
AI Agent 工程化开发实战(三):用 StateGraph 给智能体搭一条可回放的状态流水线
java·开发语言·jvm·ai·状态管理·langgraph·stategraph