python批量运行monkey

发布时间 2023-06-18 04:08:56作者: solomon-zj
#coding=utf-8
"""
author:solomon_zj
datatime:2023-6-18
explain:
    pip install adbutils  安装adbutils库
    monkey_exe:导入运行monkey的前置文件数据并进行monkey执行
    tips:os.system() 运行monkey命令会产生等待过程
         os.popen() 运行monkey命令不会阻塞进行等待
"""


import adbutils,os

def get_devices():
    devices = []
    devices_cls = adbutils.adb.device_list()
    for i in devices_cls:
        devices.append(i.serial)
    return devices

def monkey_exe():
    devices = get_devices()
    print(f"当前共有{len(devices)}设备")
    for i in devices:
        local_file = os.getcwd() + os.sep + "local.prop"
        blacklist_file = os.getcwd() + os.sep + "blacklist.txt"
        os.system(f"adb -s {i} root")
        os.system(f"adb -s {i}  shell settings put system screen_off_timeout 600000")
        os.system(f"adb -s {i}  shell setprop persist.shutdown_switch true")
        os.system(fr"adb -s {i}  push {local_file}  /data/local.prop")
        os.system(f"adb -s {i}  shell chmod 644 /data/local.prop")
        os.system(fr"adb -s {i}  push {blacklist_file}  /data/")
        os.popen(fr'adb -s {i} shell "monkey --pkg-blacklist-file /data/blacklist.txt --kill-process-after-error --pct-syskeys 0 --pct-rotation 0 --ignore-crashes --ignore-native-crashes --ignore-timeouts --ignore-security-exceptions --throttle 1500 -v -v -v -s 5 99999999 2>/sdcard/error_black.txt 1>/sdcard/info_black.txt"')
        print(f"已完成设备{i}的monkey执行操作")


if __name__ == "__main__":
    monkey_exe()