目录
前言:
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文件查看
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
启动多个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命令来启动。
是不是很简单。
但是呢,作为一只老鱼,觉得手动启动太多服务,有点费劲,于是乎~~
搞个脚本,一次启动多个服务,
剩下的时间,嘿嘿…是不是很香~
代码示例
# -*- 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个端口
代码示例
# -*- 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')
netstat -ano |findstr 端口号
netstat -ano
直接在生成的log文件中,查看即可:
①生成的log文件
②log文件的内容
作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!
留【自动化测试】即可