廢話連篇
為了搞個多測試機並行運行也是花了時間研究了下,要使用macaca將多個設備運行起來,當然是需要用設備ID號,服務端口號等等,此處將簡單介紹一下關於如何獲取設備號。
簡單介紹
這里使用os.popen來獲取設備號,使用os.system來啟動macaca服務(有時間了將macaca的一些經歷寫寫吧)。
兩者的區別是:
(1)os.system(cmd)的返回值只會有0(成功),1,2
(2)os.popen(cmd)會把執行的cmd的輸出作為值返回。
實際操作
以獲取設備號的操作為例。
代碼如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/5/20 18:20
# @Author : --------
# @Site :
# @File : adb.py
# @Software: PyCharm
import os
#獲取連接設備
GET_ANDROID = "adb devices"
# 使用popen
value_popen = os.popen(GET_ANDROID)
s_v = value_popen.readlines()
print('popem:',s_v)
print('---------------我是分界線----------------')
# 使用system
value_system = os.system(GET_ANDROID)
print('system:',value_system)
運行結果如下:
popen:

此方法可以使用read、readline、readlines方法進行內容操作。
代碼如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/5/20 18:20
# @Author : -----
# @Site :
# @File : adb.py
# @Software: PyCharm
import os
#獲取連接設備
GET_ANDROID = "adb devices"
# 使用popen
value = os.popen(GET_ANDROID)
s_v = value.readlines()
for v in s_v:
s_value = str(v).replace("\n", "").replace("\t", "")
if s_value.rfind('device') != -1 and (not s_value.startswith("List")) and s_value != "":
s_vv = s_value[:s_value.find('device')].strip()
print(s_vv)
print('---------------我是分界線----------------')
# 使用system
# value_system = os.system(GET_ANDROID)
# print('system:',value_system)

很方便可以將device ID分離出來。
system:

此方法只是返回一個code值,可操作性比較低。