开源云真机平台-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()
  



          

【运行效果】

【导出结果】

相关推荐
u0109147606 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
baidu_340998826 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_678485456 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
不吃香菜学java6 小时前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
qq_342295826 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
TechWayfarer6 小时前
知乎/微博的IP属地显示为什么偶尔错误?用IP归属地查询平台自检工具3步验证
网络·python·网络协议·tcp/ip·网络安全
Greyson16 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
justjinji6 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
小江的记录本7 小时前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全
贵沫末7 小时前
python——打包自己的库并安装
开发语言·windows·python