python3自动识别usb连接状态的示例分析

  介绍

这篇文章主要介绍python3自动识别usb连接状态的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在做自动化测试时,遇到两种情况需要判断usb是否已连接上(注,本文仅针对用亚行命令来控制手机)

一种是在开测时(前提是同时要测试多台),希望等待所有设备usb全部识别后同时进行测试。对于这一种,当然是可以另开一个窗口不断的输入亚行设备来检测,但不够AI。

一种是在测试过程中有时usb会自动断开,这时如果不判断usb是否有重新连接的话,则测试还会往下执行,测试指定是失败的。

<强>第一种情况: <强>其思路还是要利用亚行设备来不断的获取当前已连接的设备id。

1。先获取一个devlist,并计算当前已连接的设备数。

2。利用而循环,当重新获取一个devlist时,其设备数大于之前的设备数,则遍历新的devlist,当新设备不在旧devlist里时,就打印出的deviceid,即实现了对usb的实时识别并打印了。

具体实现如下:

import 操作系统   得到time  import 睡眠   ,   #,获取设备id列的表   def  getdevlist ():   时间=devlist 才能;[]   connectfile 才能=,os.popen (& # 39; adb 设备# 39;)   时间=list 才能;connectfile.readlines ()   #,才能打印(列表)   for 才能小姐:拷贝范围(len(列表):   ,,,if 列表[我];(& # 39;\ tdevice& # 39;), !=, 1:   ,,,,,temp =,[我].split列表(& # 39;\ t # 39;)   ,,,,,devlist.append(临时[0])   return  devlist才能   ,   ,   时间=connectdevice 输入(& # 39;请输入每次要同时连接的设备数:& # 39;)   number =, int (connectdevice.strip ())   ,   while 真正的:   时间=lists 才能;getdevlist ()   devnum 才能=,len(列表)   id 才能=1   时间=tempdevlist 才能;getdevlist ()   if 才能devnum  & lt;,号码:   ,,,print (f # 39; \ n设备未全部识别,应识别{}数台设备! \ n当前已识别{devnum}台设备,请连接设备并等待识别:\ n \ n # 39;)   ,,,for 小姐:拷贝范围(devnum):   ,,,,,印刷(f # 39;设备:{id},{列表[我]}& # 39;)   ,,,,,id =, id  + 1   #,才能等待识别所有设备   while 才能devnum  & lt;,号码:   ,,,lists =, getdevlist ()   ,,,curnum =, len(列表)   ,,,if  curnum 祝辞,devnum:   ,,,,,for 小姐:拷贝范围(len(列表):   ,,,,,,,if 列出了[我],not 拷贝tempdevlist:   ,,,,,,,,,印刷(f # 39;设备:{id},{列表[我]}& # 39;)   ,,,,,,,,,id =, id  + 1   ,,,,,,,,,tempdevlist =, getdevlist ()   ,,,,,devnum =curnum   ,,,,   打印才能(f # 39; \ n所有设备已全部识别!当前有连接{len (getdevlist())}台设备。\ n \ n # 39;)

<强>第二种情况:第二种情况的前提的已知当前已连接设备的的deviceid,这个不难理解也不难获取,其思路跟第一种情况也差不太多,不过我将其封装成了一个函数。应用场景其实在实际应用过程中,总有那个一两个地方,总会概率的usb断开然后又自动连接的上,但这样就会执行失败,故对这样的概率会失败的场景先要做到了然于胸,才能在实适当的地方当判断来进行重连,做到代码简洁。

import 操作系统   得到time  import 睡眠   ,   def  reconnectAction(的deviceid):   时间=devlist 才能;getdevlist ()   打印才能(f # 39;设备{的deviceid}正在尝试重连# 39;公司)   id 才能=1   while 才能;deviceid  not 拷贝devlist:   ,,,print (f # 39;第{id}次,& # 39;,,最终获得=,& # 39;,& # 39;)   ,,,devtuple =, getdevlist ()   ,,,id =, id  + 1   打印才能(f # 39; \ n设备{的deviceid}重新建立连接成功# 39;公司)   睡眠才能(1)   ,   ,   #,例子:   if  __name__ ==, & # 39; __main__ # 39;:   时间=deviceid 才能;& # 39;12 lk34fkjaaf& # 39;   if 才能;clickScreen (openfilemanager,,的deviceid), !=, 0:   ,,,print (f # 39; {openfilemanager[1]}:执行失败”)   ,,,reconnectAction(的deviceid)   ,,,clickScreen (openfilemanager,,的deviceid)

好的,任务完成。

以上是“python3自动识别usb连接状态的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

python3自动识别usb连接状态的示例分析