因爲小魚在上一章節寫了 多臺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()