• 1
  • 0
分享

1. 通过cmd窗口命令启动

1.1 启动单个appium服务

打开cmd,直接输入:appium

这里默认启动的端口是4723,如果没有被占用的情况

C:\Users\Carl_奕然>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_奕然>appium -p 4723
[Appium] Welcome to Appium v1.17.1
[Appium] Appium REST http interface listener started on 0.0.0.0:4723

1.2 启动多个appium服务

启动多个appium,就是指定端口号即可 :appium -p 端口号

启动appium服务 1

C:\Users\Carl_奕然>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_奕然>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命令来启动。

是不是很简单。

2. 通过python脚本来启动

但是呢,作为一只老鱼,觉得手动启动太多服务,有点费劲,于是乎~~

搞个脚本,一次启动多个服务,

剩下的时间,嘿嘿…是不是很香~

2.1 启动单个appium服务

# -*- coding: utf-8 -*-
"""
@ auth : Carl_奕然
@ time : 2022-8-11
"""
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个端口

2.2 启动多个appium服务

# -*- coding: utf-8 -*-
"""
@ auth : Carl_奕然
@ time : 2022-8-11
"""

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')

3. 启动校验

3.1 通过cmd命令查看

3.1.1 查看指定端口号

netstat -ano |findstr 端口号

3.1.2 查看全部端口号

netstat -ano

3.2 通过生成的log文件查看

直接在生成的log文件中,查看即可

①生成的log文件

811.png

②log文件的内容

11.png

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   2018 年在亚利桑那州坦佩(Tempe)造成一名 49 岁妇女死亡的优步(Uber)自动驾驶汽车的司机承认了一项危害罪,并于周五被判处三年缓刑。拉斐拉-巴斯克斯(Rafaela Vasquez)在亚利桑那州的 Uber 自动驾驶汽车测试项目中担任安全驾驶员。当她的车辆碾过推着自行车过马路的伊莱恩-赫兹伯格(Elaine Herzberg)时,她正坐在方向盘后。  据了解,这起发生在2018年3月18日的车祸是第一起涉及自动驾驶汽车的致命碰撞事故。  据《亚利桑那共和报》(Arizona Republic)报道,检察官将瓦斯奎兹描述为车辆的"眼睛和耳朵",碰撞发生时,车...
            0 0 891
            分享
          •   通用汽车公司正在取消"Ultra Cruise"品牌,并将其研发团队与负责"Super Cruise"的团队合并,因为该公司正在重新考虑其先进驾驶辅助系统(ADAS)的目标。上周,CNBC 报道称,通用汽车将"终止 Ultra Cruise 项目",转而专注于目前在公司全系车型中使用的 Super Cruise 系统。通用汽车发言人艾梅-里德拉(Aimee Ridella)澄清说,最终目的是改进超级巡航系统,但不会因此裁员。  Ridella在一封电子邮件中说:"通用汽车并没有缩减其高级驾驶辅助项目。我们已经重新分配了以...
            0 0 668
            分享
          •   性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,发现软件系统中存在的性能瓶颈,优化软件,起到优化系统的目的。性能瓶颈定位和调优是个复杂的过程,通常可以从应用参数设置、硬件资源、代码或 SQL 语句、架构或需求等方面综合考量。  本文以某应用系统性能测试过程中遇到的交易报错入手,详细讲述WAS数据源连接池参数配置对系统性能的影响。  一、应用系统基本情况介绍  某应用系统性能测试环境数据库服务器使用Oracle RAC,由两台PC Server物理机组成;应用服务器使用11台PC Server虚拟机,程序运行在WAS上。测试环境WAS与Oracle各...
            11 11 1222
            分享
          • 前言性能测试是通过性能的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。术语:场景(Scenario):场景即测试场景。在LoadRunner的Controller部件中,可以设计与执行用例的场景,设置场景的步骤主要包括:在Controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器(Lo...
            0 0 2203
            分享
          •   一、简介  我的jdk是1.8 Jmeter版本是3.3 其它可能会有冲突 导致不能正确安装 jdk和jmeter会有对应版本,大家注意。  二、打开Jmeter  在安装jmeter里面的bin目录下双击jmeter.bat文件即可本地启动。  三、添加虚拟用户组  入下图所示,右击“测试计划”,添加-Theard-线程组。 线程组:JMeter是由Java实现的,并且使用一个Java线程来模拟一个用户,因此线程组就是指一组用户的意思,这些虚拟用户用来模拟访问被测系统。  四、线程组常用设置  线程数:虚拟用户数,默认的输入是1,表明一个用户访问被测系统,如果想模拟100个用户...
            0 0 1148
            分享
      • 51testing软件测试圈微信