Appium学习笔记目录
本文包含内容:
- 后台启动&关闭appium server的命令
- 根据端口号查看进程&关闭相应的进程
- 实例代码
后台启动&关闭appium server的命令
启动appium:appium -a 127.0.0.1 -p 4723 --log xxx.log --local-timezone
- 启动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系统
- 根据端口号查找进程号
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启动成功')