Appium+Python3 并发启动Appium服务
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019-07-26 11:27 # @Author : zhouyang # @File : mulit_appium.py ''' 用python脚本同时启动多个appium服务,不是并发 端口配置如下: Appium服务器端口:4723 , bp端口:4724 Appium服务器端口:4724 , bp端口:4726 host:127.0.0.1 注:bp端口(--bootstrap-port)是appium和设备之间通信的端口,如果不指定,到时无法操作多台设备运行脚本 校验是否启动成功:netstat -ano |findstr 端口号 关闭服务:1.直接在任务管理器根据pid值进行关闭进程 2.使用命令:taskkill -f -pid appium进程id ''' import subprocess from time import ctime def appium_start(host,port): bootstrap_port=str(port+1) cmd='start /b appium -a '+ host +' -p '+ str(port) +' -bp '+ str(bootstrap_port) print('%s at %s'%(cmd,ctime())) subprocess.Popen(cmd,shell=True,stdout=open('./appium_log/'+str(port)+'.log','a'),stderr=subprocess.STDOUT) if __name__ == '__main__': host='127.0.0.1' # port=4723 # appium_start(host,port) #启动两个进程 for i in range(2): port=4723+2*i appium_start(host,port)
以上是开启多个Appium服务,并非并发
以下案例是并发
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019-07-26 11:27 # @Author : zhouyang # @File : mulit_appium.py ''' 用python脚本同时启动多个appium服务, 并发 端口配置如下: Appium服务器端口:4723 , bp端口:4724 Appium服务器端口:4724 , bp端口:4726 host:127.0.0.1 注:bp端口(--bootstrap-port)是appium和设备之间通信的端口,如果不指定,到时无法操作多台设备运行脚本 校验是否启动成功:netstat -ano |findstr 端口号 关闭服务:1.直接在任务管理器根据pid值进行关闭进程 2.使用命令:taskkill -f -pid appium进程id ''' import subprocess from time import ctime import multiprocessing def appium_start(host,port): bootstrap_port=str(port+1) cmd='start /b appium -a '+ host +' -p '+ str(port) +' -bp '+ str(bootstrap_port) print('%s at %s'%(cmd,ctime())) subprocess.Popen(cmd,shell=True,stdout=open('./appium_log/'+str(port)+'.log','a'),stderr=subprocess.STDOUT) appium_process=[] for i in range(2): host = '127.0.0.1' port=4723+2*i appium=multiprocessing.Process(target=appium_start,args=(host,port)) appium_process.append(appium) if __name__ == '__main__': for appium in appium_process: appium.start() for appium in appium_process: appium.join()