启动appium服务的2种方法(python脚本&cmd窗口)

简介: 启动appium服务的2种方法(python脚本&cmd窗口)

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.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:4725C:\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命令来启动。

是不是很简单。


2. 通过python脚本来启动

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

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

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


2.1 启动单个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个端口


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

3. 启动校验

3.1 通过cmd命令查看

3.1.1 查看指定端口号

netstat -ano |findstr 端口号

3.1.2 查看全部端口号

netstat -ano

3.2 通过生成的log文件查看

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

①生成的log文件

image.png

②log文件的内容

image.png

目录
相关文章
|
13天前
|
数据采集 存储 监控
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
56 7
21个Python脚本自动执行日常任务(2)
|
3天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
26 5
|
13天前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
21天前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
27 7
|
21天前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
88 5
|
25天前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
消息中间件 Java 语音技术
Python Http Server实现服务监听和地址回调
在日常第三方地址调用过程中,很多接口时异步接口,可以使用轮询的方式基于第一次请求返回的参数查询处理的结果,这种方式往往比较麻烦,特别是对一些长时间无法处理的任务,往往需要多次轮询才能获取结果。通过配置回调地址的方式来实现调用结果的监听;部分服务如阿里云MNS Topic、腾讯云的CMQ,都支持通过配置HttpEndpoint的方式实现消息的http方式订阅监听;这两种模式都是本地启动:HTTP Server,第三方服务通过已经配置的地址来请求服务,最终实现服务的监听。下面通过一个Python3 Http Server实现对:异步长文本语音合成和mns topic演示相关功能。
23702 7
Python Http Server实现服务监听和地址回调
|
18天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
16天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
5天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
98 80