启动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

目录
打赏
0
0
0
0
2528
分享
相关文章
Python接口自动化测试中Mock服务的实施。
总结一下,Mock服务在接口自动化测试中的应用,可以让我们拥有更高的灵活度。而Python的 `unittest.mock`库为我们提供强大的支持。只要我们正确使用Mock服务,那么在任何情况下,无论是接口是否可用,都可以进行准确有效的测试。这样,就大大提高了自动化测试的稳定性和可靠性。
61 0
探秘文件共享服务之哈希表助力 Python 算法实现
在数字化时代,文件共享服务不可或缺。哈希表(散列表)通过键值对存储数据,利用哈希函数将键映射到特定位置,极大提升文件上传、下载和搜索效率。例如,在大型文件共享平台中,文件名等信息作为键,物理地址作为值存入哈希表,用户检索时快速定位文件,减少遍历时间。此外,哈希表还用于文件一致性校验,确保传输文件未被篡改。以Python代码示例展示基于哈希表的文件索引实现,模拟文件共享服务的文件索引构建与检索功能。哈希表及其分布式变体如一致性哈希算法,保障文件均匀分布和负载均衡,持续优化文件共享服务性能。
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
397 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
3290 3
摘要分享服务python版
【10月更文挑战第3天】本文介绍了将链接转换为标题和内容摘要的技术,包括抽取式和生成式摘要方法。抽取式摘要通过提取关键句子生成摘要,而生成式摘要则通过理解语义生成新句子。文中还详细描述了链接预览生成的实现过程,从链接识别到内容解析,再到预览卡片生成,并提供了Python代码示例。这些技术提高了信息的可读性和访问效率。
75 1
【Azure Developer】通过SDK(for python)获取Azure服务生命周期信息
需要通过Python SDK获取Azure服务的一些通知信息,如:K8S版本需要更新到指定的版本,Azure服务的维护通知,服务处于不健康状态时的通知,及相关的操作建议等内容。
105 18

推荐镜像

更多
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问