• 0
  • 0
分享

1. 通过cmd窗口命令启动

1.1 启动单个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

1.2 启动多个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_DJ>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_DJ
#@ time : 2022-06-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个端口

2.2 启动多个appium服务

代码示例

# -*- coding: utf-8 -*-
#@ auth : Carl_DJ
#@ time : 2022-06-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')

3. 启动校验

3.1 通过cmd命令查看

3.1.1 查看指定端口号

netstat -ano |findstr 端口号

3.1.2 查看全部端口号

 netstat -ano

3.2 通过生成的log文件查看

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

生成的log文件

        20200630111937811.png

 ②log文件的内容

202006301118400.png

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在面试的时候,经常会遇到这样的问题:你做过UI自动化么?是怎么做的?  一般来说,我会这么回答:做过,我是用Python+Selenium+UnitTest+BeautifulReport采用POM模式来做的。  首先的话我会创建一个BasePage类把一些常用的方法重新封装下,比如元素定位,打开页面等等直接封装的简单些,例如self.driver.find_element_by_id直接封装成by_id就行了。  然后的话如果页面跑自动化的时候要登录,也把登录直接封装成一个函数,后面直接调用函数就可以了。  还有的话也会把封装读取配置文件函数,比如读取CSV配置文件,我们可以把所用到的一...
            0 0 535
            分享
          •   这段时间公司项目急缺人手,面了不少人,竟然没有一个满意的。一开始瞄准的就是中高级的水准,也没指望来技术大牛,提供的薪资在15-25K,面试的人很多,但结果让人失望。  从简历上来说都是3-4年工作经验,但面试中,不会工具方法和编程框架,基本功的技术很多也不熟练,多数人多年的工作经验仅仅是业务年限堆起来的,技术能力达不到公司需求,对于框架自动化测试会的也不多,都停留接口测试的基础方法层面上,自动化深入的问题更是一问一个没,对于前沿的主流技术也毫无关注。  而这些人的薪资要求却是都接近20K,并且在谈论过程中自视甚高,特别有一个给我留了很深印象,简历写着3年经验,做的都是小程序的展示项目,面试...
            0 1 827
            分享
          • 概述客户端测试包括很多工作,测试工作有功能测试、稳定性测试、代码静态检查、性能测试、兼容性测试和安全测试等,辅助工作有用例管理、设备管理、项目管理等,还有很多其他工作。工程师们往往花了很多时间在做一些重复性工作,没有过多的精力投入到产品质量的深挖上去。地图客户端测试效率提升思路是不定期得组织版本耗时分析,将耗时较长工作缩短、将耗时少工作变为零耗时,从而释放人力做更多探索测试。比如:事例1:设备管理这块,没有一个公共的地方记录设备在哪位工程师手上,工程师借出还入操作比较繁琐,导致在设备调度这块耗时很长。解决方式:开发一个设备管理App,工程师只需要打开设备做借入还出操作;搭建设备管理平台,用于方...
            0 1 4176
            分享
          •   一 背景介绍  1.什么是Redmine   Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统。  我们用Redmine 主要是用于 Bug 管理流程,包括新建、已解决、反馈、关闭等状态。  2.事情起因  有一次服务器自动关机,再次重启后发现redmine 的redmine thin1 和thin2 两个服务启动不起来,导致登录页面提示异常,如下图。  二 处理过程  1.启动两个服务  首先出现上图中报错,排查发现redmine thin1 和thin2这两个服务需要重新启动,启动可以在系统服务里启动,也...
            0 0 1390
            分享
          •   经常都有人问我软件测试前景怎么样,每年也都帮助很多朋友做职业分析和学习规划,也很欣慰能够通过自己的努力帮到一些人进入到大厂。  2024年软件测试行业的发展现状以及未来的前景趋势  最近很多测试人在找工作的时候,明显的会发现功能测试很难找到工作,即使有,也是外包,甚至外包都要求会性能或者自动化测试。所以对于纯手工测试,不好找工作的情况是真实存在的。  另外就是技术的发展,CI/CD/DevOps的项目管理迭代的方法论的流行加大了测试压力。你要是刚开始进入这个行业,可能认为测试就是找bug,但是测试工程师的核心是质量保证。短时间迭代越来越快的节奏下,其实已经没有办法再靠人力去支撑了,到时候必...
            0 0 269
            分享
      • 51testing软件测试圈微信