啓動appium服務的2種方法(python腳本&cmd窗口)


)

通過cmd窗口命令啓動

啓動單個appium服務

打開cmd,直接輸入:appium
這裏默認啓動的端口是4723,如果沒有被佔用的情況

C:\Users\carl.DJ>appium
[Appium] Welcome to Appium v1.17.1
[Appium] Appium REST http interface listener started on 0.0.0.0:4723

也可以直接輸入:appium -p 4723

C:\Users\carl.DJ>appium -p 4723
[Appium] Welcome to Appium v1.17.1
[Appium] Appium REST http interface listener started on 0.0.0.0:4723

啓動多個appium服務

啓動多個appium,就是指定端口號即可 :appium -p 端口號
啓動appium服務1

C:\Users\carl.DJ>appium -p 4723
[Appium] Welcome to Appium v1.17.1
[Appium] Appium REST http interface listener started on 0.0.0.0:4723

啓動appium服務2

C:\Users\carl.ding>appium -p 4725
[Appium] Welcome to Appium v1.17.1
[Appium] Non-default server args:
[Appium]   port: 4725
[Appium] Appium REST http interface listener started on 0.0.0.0:4725

以上時通過cmd命令來啓動。
是不是很簡單。

通過python腳本來啓動

但是呢,作爲一隻老魚,覺得手動啓動太多服務,有點費勁,於是乎~~
搞個腳本,一次啓動多個服務,
剩下的時間,嘿嘿…是不是很香~

啓動單個appium服務

# -*- coding: utf-8 -*-
"""
@ auth : carl_DJ
@ time : 2020-6-30
"""

import subprocess
import time

def appium_start(host,port):
    '''
    啓動appium server
    :param host:
    :param port:
    :return:
    '''
    #指定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)

    # 打印輸入的cmd命令,及時間
    print("%s at %s " %(cmd,time.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)
    #運行2個端口

啓動多個appium服務

# -*- coding: utf-8 -*-
"""
@ auth : carl_DJ
@ time : 2020-6-30
"""

import subprocess
import time

def appium_start(host,port):
    '''
    啓動appium server
    :param host:
    :param port:
    :return:
    '''
    #指定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)

    # 打印輸入的cmd命令,及時間
    print("%s at %s " %(cmd,time.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'
    #運行2個端口,使用for循環即可
    for i in range(2):
        port = 4723 + 2*1
        appium_start(host,port)

這裏有3點說一下:
一、端口號設置
①Appium服務器端口:4723 ,bp端口:4724
①Appium服務器端口:4725 ,bp端口:4726

可以看到,appium服務器端口和bp端口是相差一位的,
那什麼是bp端口呢,
>>bp端口(–bootstrap-port),是appium和設備之間通訊的端口,如果不能指定到,則無法運行多臺設備腳本。
這是不是就明白了。
二、腳本命令寫法
在cmd窗口,我們運行設備,是 appium -a host -p 端口號 -bp 端口號
那麼我們寫在python腳本就是一樣的,只不過參數化而已。

/b :不打開彈窗運行

三、輸入到日誌

stdout=open('./appium_log/'+str(port)+'.log','a')

啓動校驗

通過cmd命令查看

查看指定端口號

netstat -ano |findstr 端口號

查看全部端口號

netstat -ano 

通過生成的log文件查看

直接在生成的log文件中,查看即可
生成的log文件
在這裏插入圖片描述
log文件的內容
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章