You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

卸载Appium v1.22安装v2.0.0后自动化测试启动报错求助

解决Appium v2.0.0路径不匹配导致的InvalidServerInstanceException异常

原因分析

问题出在Java客户端的AppiumServiceBuilder默认沿用了Appium v1.x的安装路径(/usr/local/lib/node_modules/appium/build/lib/main.js),但你通过Homebrew安装的Appium v2.0.0实际主脚本路径是/opt/homebrew/lib/node_modules/appium/build/lib/main.js,路径不匹配触发了异常。

解决方案

方法1:手动指定Appium主脚本路径

在初始化Appium服务时,通过withAppiumJS()方法明确传入正确的脚本路径:

import io.appium.java_client.service.local.AppiumDriverLocalService;
import io.appium.java_client.service.local.AppiumServiceBuilder;
import java.io.File;

public class AppiumServiceSetup {
    public static AppiumDriverLocalService startAppiumService() {
        File appiumJS = new File("/opt/homebrew/lib/node_modules/appium/build/lib/main.js");
        AppiumDriverLocalService service = new AppiumServiceBuilder()
                .withAppiumJS(appiumJS)
                // 可按需添加端口、日志路径等其他配置
                .build();
        service.start();
        return service;
    }
}

方法2:用软链接统一路径

如果不想修改代码,可通过软链接将新路径映射到客户端默认查找的旧路径:
打开终端执行命令:

sudo ln -s /opt/homebrew/lib/node_modules/appium /usr/local/lib/node_modules/appium

执行后,客户端默认路径会自动指向实际的Appium安装目录。

方法3:指定Appium CLI路径

先确认Appium CLI的实际路径:

which appium

若输出为/opt/homebrew/bin/appium,可在AppiumServiceBuilder中指定CLI路径,客户端会自动识别对应主脚本:

File appiumExecutable = new File("/opt/homebrew/bin/appium");
AppiumDriverLocalService service = new AppiumServiceBuilder()
        .usingDriverExecutable(appiumExecutable)
        .build();
service.start();

验证步骤

  1. 启动Appium服务,核对日志确认路径正确
  2. 运行自动化测试,检查是否仍抛出InvalidServerInstanceException异常

内容的提问来源于stack exchange,提问作者Pauline

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 08:36:59