重装电脑后无法通过代码启动Appium服务,寻求解决办法
问题描述
- 重装电脑前Appium测试功能正常,重装后启动测试时卡住,仅能通过键盘中断退出。
- 测试套件自动启动Appium服务的代码:
appium_service = AppiumService() appium_service.start( args=['--local-timezone', '--address', APPIUM_SERVICE_HOST, '-p', APPIUM_SERVICE_PORT])
- 终端输出内容:
pytest npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
- Appium服务日志持续重复以下内容(直到键盘中断):
2022-08-23 15:16:50:059 [Appium] Appium REST http interface listener started on localhost:4723 2022-08-23 15:16:50:263 [HTTP] --> HEAD /status 2022-08-23 15:16:50:264 [HTTP] {} 2022-08-23 15:16:50:272 [HTTP] No route found for /status 2022-08-23 15:16:50:276 [HTTP] <-- HEAD /status 404 12 ms - 211 2022-08-23 15:16:50:277 [HTTP] 2022-08-23 15:16:51:278 [HTTP] --> HEAD /status 2022-08-23 15:16:51:278 [HTTP] {} 2022-08-23 15:16:51:283 [HTTP] No route found for /status 2022-08-23 15:16:51:284 [HTTP] <-- HEAD /status 404 6 ms - 211 2022-08-23 15:16:51:284 [HTTP] 2022-08-23 15:16:52:292 [HTTP] --> HEAD /status
解决思路
- 排查Appium版本差异:Appium 2.x已移除
/status接口,替换为/health。如果重装后安装了Appium 2.x,但测试代码仍在调用旧接口检查服务状态,会导致循环请求卡住。需确认前后版本是否一致,若升级到2.x,要同步修改测试代码中的状态检查逻辑。 - 复刻依赖版本:找出重装前的依赖清单(如
requirements.txt、package.json),完全安装对应版本的Appium核心、Python客户端(Appium-Python-Client)及相关驱动,避免版本不兼容问题。 - 修复npm配置警告:执行
npm config set location global修正过时的npm配置,消除终端警告,排除潜在环境干扰。 - 手动验证服务与测试:先手动启动Appium服务(执行
appium命令),再单独运行测试,判断是服务启动代码的问题还是测试逻辑的问题。 - 检查驱动安装:Appium 2.x需手动安装驱动,比如执行
appium driver install uiautomator2,重装后可能遗漏必要驱动,导致服务无法处理测试请求。 - 确认服务地址端口:核对
APPIUM_SERVICE_HOST和APPIUM_SERVICE_PORT配置是否与之前一致,确保测试代码在正确地址上请求服务。
内容的提问来源于stack exchange,提问作者q30a
相关产品推荐
相关产品推荐

