隐藏

Appium学习12-利用python自动启动和关闭appium server

发布:2023/10/23 21:45:42作者:管理员 来源:本站 浏览次数:674

Appium学习笔记目录


本文包含内容:


   后台启动&关闭appium server的命令

   根据端口号查看进程&关闭相应的进程

   实例代码


后台启动&关闭appium server的命令

启动appium:appium -a 127.0.0.1 -p 4723 --log xxx.log --local-timezone


Appium 服务命令行参数


   启动appium

   -p 4723 指定端口

   --log xxx.log指定日志保存到指定文件内(可以是绝对路径)

   --local-timezone指定时间为本地时间

   --log-level error设置日志级别,默认是debug

   win平台在命令的开始添加start /b,mac平台在命令的末尾添加&:表示后台启动,不加时,后续的程序无法运行(终端单独启动时可以不加)

   参考文章


# win

start /b appium -a 127.0.0.1 -p 4723  --log xxx.log --local-timezone

# mac

appium -a 127.0.0.1 -p 4723  --log xxx.log --local-timezone  &

关闭appium


   关闭相应端口对应的进程即可


根据端口号查看进程&关闭相应的进程

win系统

win查询及关闭进程.png


   根据端口号查找进程号netstat -o -n -a | findstr :端口号


# 命令

netstat -aon|findstr 4723

# 结果

 TCP    127.0.0.1:4723         0.0.0.0:0              LISTENING       3352


   终止进程taskkill /F /PID 进程号(PID号)


# 命令

taskkill /f /pid 3352

# 结果

成功: 已终止 PID 为 3352 的进程。


   终止所有appium进程taskkill /f /t /im node.exe


mac系统


   根据端口号查找进程号:lsof -i tcp: 4723


   终止进程:kill 进程号(PID号)


实例代码

pc = input('请输入系统 win or mac:')

def stop_appium(post_num=4723):

   '''关闭appium服务'''

   if pc.upper() =='WIN':

       p = os.popen(f'netstat  -aon|findstr {post_num}')

       p0 = p.read().strip()

       if p0 != '' and 'LISTENING' in p0:

           p1 = int(p0.split('LISTENING')[1].strip()[0:4])  # 获取进程号

           os.popen(f'taskkill /F /PID {p1}')  # 结束进程

           print('appium server已结束')

   elif pc.upper() == 'MAC':

       p = os.popen(f'lsof -i tcp:{post_num}')

       p0 = p.read()

       if p0.strip() != '':

           p1 = int(p0.split('\n')[1].split()[1])  # 获取进程号

           os.popen(f'kill {p1}')  # 结束进程

           print('appium server已结束')


def start_appium(post_num=4723):

   '''开启appium服务'''

   stop_appium(post_num)    # 先判断端口是否被占用,如果被占用则关闭该端口号

   # 根据系统,启动对应的服务

   cmd_dict = {

       'WIN':f' start /b appium -a 127.0.0.1 -p {post_num} --log xxx.log --local-timezone ',

       'MAC':f'appium -a 127.0.0.1 -p {post_num} --log xxx.log --local-timezone  & '

   }

   os.system(cmd_dict[pc.upper()])

   time.sleep(3)  # 等待启动完成

   print('appium启动成功')