启动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文件的内容
在这里插入图片描述

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