廢話連篇
爲了搞個多測試機並行運行也是花了時間研究了下,要使用macaca將多個設備運行起來,固然是須要用設備ID號,服務端口號等等,此處將簡單介紹一下關於如何獲取設備號。python
簡單介紹
這裏使用os.popen來獲取設備號,使用os.system來啓動macaca服務(有時間了將macaca的一些經歷寫寫吧)。測試
二者的區別是:spa
(1)os.system(cmd)的返回值只會有0(成功),1,2code
(2)os.popen(cmd)會把執行的cmd的輸出做爲值返回。ip
實際操做
以獲取設備號的操做爲例。utf-8
代碼以下:
#!/usr/bin/env pythoncmd
# -*- coding: utf-8 -*-it
# @Time : 2018/5/20 18:20io
# @Author : --------class
# @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值,可操做性比較低。