Python多線程的使用,threading.Thread(target=monkeyCmd())啟動一個線程后,代碼不繼續向后運行


唉 !我還以為是線程調度的問題呢,結果竟然是執行命令行的調用方法有問題

def monkeyCmd():
    os.system("adb shell monkey " + '-p ' + package_name + " -v -v -v -s " + str(
        seed) + " --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error --pct-trackball 0 --pct-nav 0 --pct-anyevent 0 --pct-flip 0 --pct-pinchzoom 0 --pct-syskeys 0 --throttle 300 " + test_times + " > monkeyTest.txt")

#   啟動一個線程運行Money命令
def monkeyRun():
    threading.Thread(target=monkeyCmd()) #啟動一個運行money 命令
    print('啟動一個線程開始monkey')

  

threading.Thread(target=monkeyCmd()) 啟動一個Monkey命令后,代碼沒有繼續向后運行,而是等待adb shell命令行中的內容執行完畢再繼續

解決辦法:

os.system("adb shell monkey " + '-p ' + package_name + " -v -v -v -s " + str(
seed) + " --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error --pct-trackball 0 --pct-nav 0 --pct-anyevent 0 --pct-flip 0 --pct-pinchzoom 0 --pct-syskeys 0 --throttle 300 " + test_times + " > monkeyTest.txt")

修改為

os.popen("adb shell monkey " + '-p ' + package_name + " -v -v -v -s " + str(
seed) + " --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error --pct-trackball 0 --pct-nav 0 --pct-anyevent 0 --pct-flip 0 --pct-pinchzoom 0 --pct-syskeys 0 --throttle 300 " + test_times + " > monkeyTest.txt")
 修改后代碼能繼續向下執行而不用等待 adb shell命令執行結束后再往下執行
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM