python多線程多并發(fā)啟動appium服務(wù)的實現(xiàn)
Python啟動Appium 服務(wù)
使用Dos命令或者bat批處理來手動啟動appium服務(wù),啟動效率低下。如何將啟動Appium服務(wù)也實現(xiàn)自動化呢?
這里需要使用subprocess模塊,該模塊可以創(chuàng)建新的進程,并且連接到進程的輸入、輸出、錯誤等管道信息,并且可以獲取進程的返回值。
場景
使用Python啟動2臺appium服務(wù),端口配置如下:
- Appium服務(wù)器端口:4723,bp端口為4724
- Appium服務(wù)器端口:4725,bp端口為4726
說明:bp端口( –bootstrap-port)是appium和設(shè)備之間通信的端口,如果不指定到時無法操作多臺設(shè)備運行腳本
工程文件中新建一個文件夾
新建multi_subprocess.py
# -*- coding: utf-8 -*-# import subprocess from time import ctime def appium_start(host,port): # bp端口( –bootstrap-port)是appium和設(shè)備之間通信的端口 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('../appiumlog/'+str(port)+'.log', 'a'), stderr=subprocess.STDOUT) if __name__ == '__main__': host = '127.0.0.1' port = 4723 appium_start(host,port)
效驗是否成功 :
1.cmd中輸入netstat -ano | findstr 端口號(4723)
2. 在appiumlog路徑中生成4723.log日志文件
終止appium服務(wù)
taskkill -f -pid appium進程,如下:
多個appium服務(wù)啟動
if __name__ == '__main__': host = '127.0.0.1' for i in range(2): port=4723+2*i appium_start(host,port)
多進程并發(fā)啟動appium服務(wù)
上面還不是并發(fā)執(zhí)行啟動appium,因此需要使用多進程來實現(xiàn)并發(fā)啟動。
同樣需要引入multiprocessing多進程模塊。
muti_appium_sync.py
import multiprocessing 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) + ' --bootstrap-port ' + str(bootstrap_port) print('%s at %s' % (cmd, ctime())) subprocess.Popen(cmd, shell=True,stdout=open('./appiumlog/'+str(port)+'.log', 'a'), stderr=subprocess.STDOUT) #構(gòu)建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__': #并發(fā)啟動appium服務(wù) for appium in appium_process: appium.start() for appium in appium_process: appium.join()
到此這篇關(guān)于python多線程多并發(fā)啟動appium服務(wù)的實現(xiàn)的文章就介紹到這了,更多相關(guān)python多線程多并發(fā)啟動appium服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python用于url解碼和中文解析的小腳本(python url decoder)
這篇文章主要介紹了python用于url解碼和中文解析的代碼,需要的朋友可以參考下2013-08-08