废话连篇
为了搞个多测试机并行运行也是花了时间研究了下,要使用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:
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:
system此方法只是返回一个code值,可操作性比较低。
网友评论