欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 隨機按鍵模擬2小時

 更新時間:2020年12月30日 09:50:58   作者:武散人  
這篇文章主要介紹了Python 隨機按鍵模擬的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

案例故事:

Android終端(車載,手機)等,

需要模擬進行隨意進行各類按鍵(車載方向盤按鍵,手機硬按鍵)的操作,
測試系統(tǒng)對隨機按鍵事件的響應穩(wěn)定性,一般測試2小時。

準備階段

一般是用adb shell input keyevent + KeyCode 來模擬按鍵事件。
比如adb shell input keyevent 24 可以模擬“音量加鍵”,
以下是比較常用的幾個按鍵的鍵值表。

KeyCode 釋義
3 Home鍵
4 返回鍵
5 電話撥號鍵
24 音量加鍵
25 音量減鍵
26 電源鍵
27 照相機啟動鍵
87 多媒體下一曲鍵
88 多媒體上一曲鍵
91 音量靜音鍵

Python批處理腳本形式

批量處理腳本的特點是:批量順序執(zhí)行語句

# coding=utf-8
 
import os
import time
import random
 
TIMEOUT= 7200 # 2小時(7200s) 常量
once_time = time.time() # 獲取當前時間戳,并保存到一個變量
keycode_dict = {3: "HOME鍵", 4: "返回鍵", 5: "電話撥號鍵", 24: "音量加鍵",
        25: "音量減鍵", 26: "電源鍵", 27: "照相機啟動鍵", 87: "下一曲鍵",
        88: "上一曲鍵", 91: "靜音鍵"}
 
# 循環(huán)獲取當前時間,與once_time變量做時間戳做減法
while time.time() - once_time <= TIMEOUT:
  # 隨機選擇字典的某個“鍵”
  keycode = random.choice(list(keycode_dict.keys()))
  command = "adb shell input keyevent %s" % keycode
  print("成功按下了%s" % keycode_dict[keycode])
  os.system(command)
  time.sleep(0.5) # 間隔0.5s,再進行下一次按鍵模擬
  print("已經(jīng)進行了 %d 秒..., 一共需要測試 %d 秒" % (time.time() - once_time, TIMEOUT))
 
os.system("pause")

Python面向過程函數(shù)形式

看哪些代碼塊,可以組成一個具體的功能,
這個案例,可以用input_keyevent(), 代表輸入按鍵事件的功能函數(shù),
這個函數(shù)可以接收參數(shù)輸入,可以指定輸入多久的按鍵事件。

# coding=utf-8
 
import os
import time
import random
 
 
def input_keyevent(timeout):
  once_time = time.time() # 獲取當前時間戳,并保存到一個變量
  keycode_dict = {3: "HOME鍵", 4: "返回鍵", 5: "電話撥號鍵", 24: "音量加鍵",
          25: "音量減鍵", 26: "電源鍵", 27: "照相機啟動鍵", 87: "下一曲鍵",
          88: "上一曲鍵", 91: "靜音鍵"}
 
  # 循環(huán)獲取當前時間,與once_time變量做時間戳做減法
  while time.time() - once_time <= timeout:
    # 隨機選擇字典的某個“鍵”
    keycode = random.choice(list(keycode_dict.keys()))
    command = "adb shell input keyevent %s" % keycode
    print("成功按下了%s" % keycode_dict[keycode])
    os.system(command)
    time.sleep(0.5) # 間隔0.5s,再進行下一次按鍵模擬
    print("已經(jīng)進行了 %d 秒..., 一共需要測試 %d 秒" % (time.time() - once_time, timeout))
 
 
input_keyevent(7200)
os.system("pause")

Python面向?qū)ο箢愋问?br />

1.以"萬物皆可歸類"的思想, 先抽象化出一個類來,類名一般建議用"名詞", 所以我們命名為"KeyeventInputter",代表按鍵事件輸入器, 且一般要駝峰式(首字母大寫)來規(guī)范類的命名。

2.養(yǎng)成良好的類的初始化(__init__)的習慣,初始化過程中, 可以定義屬性,self.keycode_dict。

3.定義方法(函數(shù)), input_keyevent函數(shù)。
4.類是一個抽象的事物, 必須實例化成具體的對象后,才能進行調(diào)用, 所以我們實例化并命名成了k_obj, 表明是一個對象。
5.實例化成具體對象后, 對象就可以調(diào)用input_keyevent這個函數(shù)了。

# coding=utf-8
 
import os
import time
import random
 
 
class KeyeventInputter():
  def __init__(self):
    self.keycode_dict = {3: "HOME鍵", 4: "返回鍵", 5: "電話撥號鍵", 24: "音量加鍵",
               25: "音量減鍵", 26: "電源鍵", 27: "照相機啟動鍵", 87: "下一曲鍵",
               88: "上一曲鍵", 91: "靜音鍵"}
 
  def input_keyevent(self, timeout):
    once_time = time.time() # 獲取當前時間戳,并保存到一個變量
    # 循環(huán)獲取當前時間,與once_time變量做時間戳做減法
    while time.time() - once_time <= timeout:
      # 隨機選擇字典的某個“鍵”
      keycode = random.choice(list(self.keycode_dict.keys()))
      command = "adb shell input keyevent %s" % keycode
      print("成功按下了%s" % self.keycode_dict[keycode])
      os.system(command)
      time.sleep(0.5) # 間隔0.5s,再進行下一次按鍵模擬
      print("已經(jīng)進行了 %d 秒..., 一共需要測試 %d 秒" % (time.time() - once_time, timeout))
 
 
k_obj = KeyeventInputter()
k_obj.input_keyevent(7200)
os.system("pause")

運行方式與效果

確保Android設備通過USB線與電腦連接了,adb設備有效連接,以上代碼的3種實現(xiàn)形式都可以直接運行,比如保存為random_keyevent.py并放在桌面,建議python random_keyevent.py運行,當然也可以雙擊運行。

運行效果如下:

以上就是Python 隨機按鍵模擬2小時的詳細內(nèi)容,更多關于Python 隨機按鍵模擬的資料請關注腳本之家其它相關文章!

相關文章

  • 利用python檢查磁盤空間使用情況的代碼實現(xiàn)

    利用python檢查磁盤空間使用情況的代碼實現(xiàn)

    本文將向讀者展示如何利用Python編寫自動化腳本,以檢查磁盤空間使用情況,無論你是經(jīng)驗豐富的系統(tǒng)管理員,還是對Python自動化充滿興趣的開發(fā)者,本文都將為你提供實用的腳本示例和詳細的解析步驟,幫助你快速掌握磁盤空間監(jiān)控的自動化方法,需要的朋友可以參考下
    2024-08-08
  • Spring Boot中使用IntelliJ IDEA插件EasyCode一鍵生成代碼詳細方法

    Spring Boot中使用IntelliJ IDEA插件EasyCode一鍵生成代碼詳細方法

    這篇文章主要介紹了Spring Boot中使用IntelliJ IDEA插件EasyCode一鍵生成代碼詳細方法,需要的朋友可以參考下
    2020-03-03
  • 基于Keras的擴展性使用

    基于Keras的擴展性使用

    這篇文章主要介紹了Keras的擴展性使用操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python3人臉識別的兩種方法

    python3人臉識別的兩種方法

    這篇文章主要為大家詳細介紹了python3人臉識別的兩種方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python 使用類寫裝飾器的小技巧

    Python 使用類寫裝飾器的小技巧

    裝飾器是一個返回函數(shù)的函數(shù)。寫一個裝飾器,除了最常見的在函數(shù)中定義函數(shù)以外,Python還允許使用類來定義一個裝飾器。這篇文章給大家分享Python 使用類寫裝飾器的小技巧,一起看看吧
    2018-09-09
  • pygame實現(xiàn)雷電游戲雛形開發(fā)

    pygame實現(xiàn)雷電游戲雛形開發(fā)

    這篇文章主要為大家詳細介紹了pygame實現(xiàn)雷電游戲開發(fā)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • python Tornado事件循環(huán)示例源碼解析

    python Tornado事件循環(huán)示例源碼解析

    這篇文章主要為大家介紹了python Tornado事件循環(huán)示例源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • pytorch 模型的train模式與eval模式實例

    pytorch 模型的train模式與eval模式實例

    今天小編就為大家分享一篇pytorch 模型的train模式與eval模式實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • PyCharm之如何設置自動換行問題

    PyCharm之如何設置自動換行問題

    這篇文章主要介紹了PyCharm之如何設置自動換行問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Pytest如何使用mark的方法

    Pytest如何使用mark的方法

    本文主要介紹了Pytest如何使用mark的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05

最新評論