appium教程_3.启动appium-server

时间:2022-07-26
本文章向大家介绍appium教程_3.启动appium-server,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

appium教程_3.启动appium-server

前言

一台电脑控制多台设备(ios+Android),每个设备的通信都是独立的appium-server,之前的想法是每个case会去启动/check appium-server是否启动,如果启动了就执行业务测试,没有启动的话就启动appium-server,经过一段时间的执行,最后还是通过supervisor把appium-server跟业务代码解耦开了

命令行

前面有提到过,执行appium就start了appium server,但实战的时候肯定没这么简单,需要加上一些参数,直接appium -h 就可以看到可以加上哪些参数,实际运行的参数如下:

--session-override 允许 session 覆盖(如有冲突)	
-a 指定监听的 ip 地址,默认都是127.0.0.1
-p 指定监听的端口
--bootstrap-port (仅 Android)设备跟 Appium 通信的端口 这个其实没用了
--webdriveragent-port 指定ios设备的wda端口
-U 指定哪台设备,udid
--local-timezone 时间戳使用本地时区
--log-timestamp 在终端输出中显示时间戳	
--command-timeout 600  已经弃用了,Desired capabilities

官方参数文档: http://appium.io/docs/cn/writing-running-appium/server-args/#_1 (中文 ?) http://appium.io/docs/en/writing-running-appium/server-args/index.html 实际例子如下:

appium --session-override -a 127.0.0.1 -p 4725  -bp 4726 --udid {your_udid} --command-timeout 600 --webdriveragent-port 8600

问题

实际上有时候排查问题需要查看appium-server的日志,appium的命令行有一个参数可以输出日志到指定日志文件

-g, --log		Also send log output to this file	--log /path/to/appium.log

但有个问题,如果appium server端异常,日志就会GG,case如下:

窗口A
执行 appium -g /path/test.log

窗口B
同样执行 appium -g /path/test.log

因为appium端口被占用导致窗口B的异常了,结果就影响了整个日志了

貌似这个问题在1.18.2版本已经修复了

supervisor

Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.

通俗来说,可以用通过supervisor来执行命令行,有重试机制,有自己的日志输出,使得服务更稳定,异常挂掉的话,会自启动,也有简单的web图形界面用来操作命令 http://supervisord.org/installing.html