python判断sqlite连接状态_python3 自动识别usb连接状态,即对usb重连的判断方法
在做自動化測試時,遇到兩種情況需要判斷usb是否已連接上(注,本文僅針對用adb命令來control手機)
一種是在開測時(前提是同時要測試多臺), 希望等待所有設備usb全部識別后同時進行測試。對于這一種,當然是可以另開一個窗口不斷的輸入adb devices來檢測,但不夠AI。
一種是在測試過程中有時usb會自動斷開,這時如果不判斷usb是否有重新連接的話,則測試還會往下執行,測試指定是失敗的。
第一種情況:其思路還是要利用adb devices來不斷的獲取當前已連接的設備id。
1.先獲取一個devlist, 并計算當前已連接的設備數.
2.利用while循環,當重新獲取一個devlist時,其設備數大于之前的設備數,則遍歷new devlist,當new device不在old devlist里時,就print出deviceid, 即實現了對usb的實時識別并打印了.
具體實現如下:
import os
from time import sleep
# 獲取設備id列表
def getdevlist():
devlist = []
connectfile = os.popen('adb devices')
list = connectfile.readlines()
# print(list)
for i in range(len(list)):
if list[i].find('\tdevice') != -1:
temp = list[i].split('\t')
devlist.append(temp[0])
return devlist
connectdevice = input('請輸入每次要同時連接的設備數:')
number = int(connectdevice.strip())
while True:
lists = getdevlist()
devnum = len(lists)
id = 1
tempdevlist = getdevlist()
if devnum < number:
print(f'\n設備未全部識別,應識別{number}臺設備!\n當前已識別{devnum}臺設備,請連接設備并等待識別:\n\n')
for i in range(devnum):
print(f'設備{id}: {lists[i]}')
id = id + 1
# 等待識別所有設備
while devnum < number:
lists = getdevlist()
curnum = len(lists)
if curnum > devnum:
for i in range(len(lists)):
if lists[i] not in tempdevlist:
print(f'設備{id}: {lists[i]}')
id = id + 1
tempdevlist = getdevlist()
devnum = curnum
print(f'\n所有設備已全部識別!當前有連接{len(getdevlist())}臺設備.\n\n')
第二種情況:第二種情況的前提的已知當前已連接設備的deviceid, 這個不難理解也不難獲取,其思路跟第一種情況也差不太多,不過我將其封裝成了一個函數. 應用場景其實在實際應用過程中,總有那個一兩個地方,總會概率的usb斷開然后又自動連接上,但這樣就會執行失敗,故對這樣的概率會fail的場景先要做到了然于胸,才能在實適當的地方當判斷來進行重連,做到代碼簡潔。
import os
from time import sleep
def reconnectAction(deviceid):
devlist = getdevlist()
print(f'設備{deviceid}正在嘗試重連.')
id = 1
while deviceid not in devlist:
print(f'第{id}次 ', end = ' ')
devtuple = getdevlist()
id = id + 1
print(f'\n設備{deviceid}重新建立連接成功.')
sleep(1)
# example:
if __name__ == '__main__':
deviceid = '12lk34fkjaaf'
if clickScreen(openfilemanager, deviceid) != 0:
print(f'{openfilemanager[1]}:執行失敗‘)
reconnectAction(deviceid)
clickScreen(openfilemanager, deviceid)
OK, 任務完成。
以上這篇python3 自動識別usb連接狀態,即對usb重連的判斷方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的python判断sqlite连接状态_python3 自动识别usb连接状态,即对usb重连的判断方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 锐捷ap怎么设置_WiFi又不稳定?怎么
- 下一篇: python print换行_聊聊 pr