python调用bat脚本重启appium
使用过robotframework+AppiumLibrary的都知道,每跑完一个case都需要手动的重启一下appium.不然case就无法正常执行,那么作为一个自动化的流程,这个显然不合理。那么就想到了用bat脚本去重新启动appium,下面会介绍怎样重新启动。
- 废话不多说,先上脚本:(restart.bat)
@echo off
netstat -ano|findstr 4723|findstr 0.0.0.0:0 > D:\Tools\bat\tmp.txt
for /f "tokens=5" %%i in (D:\Tools\bat\tmp.txt) do taskkill /PID %%i -t -f
node "D:\Program Files (x86)\Appium\node_modules\appium\lib\server\main.js" --address 127.0.0.1 --port 4723 --platform-name Android --platform-version 23 --automation-name Appium --log-no-color
exit脚本说明
- @echo off ###脚本的开头
- netstat -ano|findstr 4723|findstr 0.0.0.0:0 > D:\Tools\bat\tmp.txt ###查找占用的端口
- for /f “tokens=5” %%i in (D:\Tools\bat\tmp.txt) do taskkill /PID %%i -t -f ###杀掉存在tmp.txt文件中的进程,取出第5列。
- node “xxxxxxxxxxxxx” 这个是重启appium服务的命令,你可以在appium图形化的界面中看到,你也可以自行修改ip 端口等参数。
- 我添加了环境node.exe 的环境变量所以,直接就用了 node 的命令
- exit ###命令结束后退出脚本
手动启动以后会出现一个cmd 的命令窗口一直停留在任务栏,这个很烦有木有。本来有办法可以去掉的,但是python调用脚本一直报错就干脆不隐藏了。而且python 调用的时候不会有cmd 窗口的显示,这个就不用担心了。
实践出真知
- 最后在robotframework 的ride 里面写个例子,跑一下看看我们的脚本是否能正常运行:
- 打开cmd 然后查找一下 4723 端口看有没有启动。
- 命令: netstat -ano|findstr 4723
然后你就可以看到这个端口已经起来了,profect!
其他说明
- 有了这个脚本然后你就可以轻松的使用任何语言去调用它重启你的appium
- mac 系统的朋友可以用类似的方法写一个shell 脚本,这个应该是很轻松愉快的,比bat 要简单。如果实在搞不定,可以给我留言。