因为小鱼在上一章节写了 多台appium的启动,
然后就联想到 能不能搞一个多进程启动appium服务。
于是乎~~
那就搞起来~ ~
关于并发的问题,小鱼写过专题文章
《常见并发问题》《多线程并发》
《多线程并发框架》
但是呢,今天小鱼不写多线程并发,写个多进程并发
在上代码之前,咱先弄清楚,多进程与多线程,到底有何区别:
我们在直接上代码
# -*- coding: utf-8 -*-
"""
@ auth : carl_DJ
@ time : 2020-6-30
"""
import multiprocessing
import subprocess
from time import ctime
def appium_start(host,port):
'''启动appium server'''
#指定bp端口号
bootstrap_port = str(port+1)
#把在cmd弹窗输入的命令,直接写到这里
# cmd = 'start /b appium -a ' + host+' -p '+str(port) +' -bp '+ str(bootstrap_port)
#去掉 “/b”,即可以打开cmd弹窗运行
cmd = 'start 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进程组
appium_process=[]
#加载appium进程
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__':
#并发启动appium服务
for appium in appium_process:
appium.start()
for appium in appium_process:
appium.join()