appium 端口检测与释放
import os
def Port_detection(port):
#端口检测与释放
commd1='lsof -i:'+str(port) #检测端口命令
logging.info(commd1)
# print(commd1)
network=os.popen(commd1)
for i in network.readlines():
if 'LISTEN' in i: #判断端口是否被占用 (node 16230 zrl 10u IPv4 439884 0t0 TCP *:4723 (LISTEN))
indexstart=i.index('node')+4
indexend=i.index('zrl')
pid=i[indexstart:indexend] # 获取被占用端口pid
# print(pid)
logging.info(i)
logging.info(pid)
commd2='kill -9 '+str(pid) # 杀进程,释放端口
subprocess.Popen(commd2, shell=True, stdout=open('./testing/appium'+'.log', 'a'),
stderr=subprocess.STDOUT)
appium 启动
def appiumstart(port):
# qidonappium
Port_detection(port)#调用检测与释放
logging.basicConfig(level=logging.INFO, filename='./testing/appium'+'.log')
bootport=port+1
commd=' appium '+' -p '+str(port)+' -bp '+str(bootport) #启动qppium
logging.info(commd)
subprocess.Popen(commd,shell=True,stdout=open('./testing/appium'+str(port)+'.log','a'),stderr=subprocess.STDOUT)#打印日志到对应文件