首页 > 编程语言 >启动appium服务的2种方法(python脚本&cmd窗口)

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

时间:2022-12-13 10:05:37浏览次数:54  
标签:Appium python cmd appium host str port


启动appium 服务的两种方法

  • ​​1. 通过cmd窗口命令启动​​
  • ​​1.1 启动单个appium服务​​
  • ​​1.2 启动多个appium服务​​
  • ​​2. 通过python脚本来启动​​
  • ​​2.1 启动单个appium服务​​
  • ​​2.2 启动多个appium服务​​
  • ​​3. 启动校验​​
  • ​​3.1 通过cmd命令查看​​
  • ​​3.1.1 查看指定端口号​​
  • ​​3.1.2 查看全部端口号​​
  • ​​3.2 通过生成的log文件查看​​


)

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: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文件

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


log文件的内容

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


标签:Appium,python,cmd,appium,host,str,port
From: https://blog.51cto.com/u_15910936/5932506

相关文章

  • 接口自动化框架(Python)之 二,http_service的配置
    如果用到其他的方法,可以自己封装下面的代码是我封装的几个方法,代码如下:#-*-coding:utf-8-*-#@Time:2019-10-23#@Author:carl_djimportrequestsfromInterface_p......
  • Python3,此神器,让爬取速率提升10倍。
    让爬取速率提升10倍的神器​​1、引言​​​​2、requests_cache​​​​2.1介绍​​​​2.2安装​​​​2.3代码实例​​​​2.3.1CachedSession方法​​​​2.3.2in......
  • 多进程启动appium服务
    因为小鱼在上一章节写了​​多台appium的启动​​,然后就联想到能不能搞一个多进程启动appium服务。于是乎~~那就搞起来~~关于并发的问题,小鱼写过专题文章​​《常见并......
  • python如何 读取excel数据
    简单的excel文件数据的读取#-*-coding:utf-8-*-importxlrdimportosbase_path=os.path.dirname(os.path.abspath('.'))print(base_path)data_path=os.path.join(b......
  • Python3,10行代码,给pdf文件去水印,再也不用花费冤枉钱了。
    10行代码给pdf文件去水印​​1、引言​​​​2、代码实战​​​​2.1去除原理​​​​2.2代码解析​​​​2.3代码整合​​​​3、总结​​1、引言小屌丝:鱼哥,最近有点不......
  • Python3,2段代码,给pdf文件添加水印,原来watermark还可以这么玩。
    pdf添加watermark​​1、引言​​​​2、指定水印内容输出到pdf文件​​​​2.1模块安装​​​​2.2思路​​​​2.3代码示例​​​​3、水印内容批量输出到pdf文件​​......
  • Python实现Appium端口检测与释放
    python实现端口检测与释放​​1.监测端口​​​​1.1socket是什么?​​​​1.2socket本质是什么?​​​​2.释放端口​​​​2.1cmd释放端口​​​​2.2Python代码释放......
  • Python3,掌握这4个自动化脚本,让工作效率提升200%。
    4个自动化脚本​​1、引言​​​​2、自动发送多封邮件​​​​2.1模块介绍​​​​2.2代码实战​​​​3、自动桌面提示​​​​3.1模块介绍​​​​3.2代码实战​​​......
  • python奇妙旅行之4行代码生成图像验证码
    在学习的路上,永无止境。就好比人掉进"深渊",永远无法自拔!  ~ ~!我没有开车,我没有开车~~~今天空闲时间再看某大佬得论坛,被点了一下,就想起来了2种方法,生成图片验证码,简约......
  • Appium自动化框架从0到1之 Driver配置封装
    不管是调用模拟器,还是调用真机,都需要准备一些driver的参数,以便被调用。思想:我们把driver配置信息,封装到yaml文件,然后通过读取yaml文件的内容,调用其driver信息。为了更直观......