如何通过编程方式启动Appium Server 2.0
Appium 2.0 编程启动适配方案
核心差异说明
- Appium 2.0 拆分了核心服务与驱动,原 1.x 的启动逻辑需要调整入口路径、依赖版本两个核心部分
- 提前安装对应平台驱动:安卓执行
npm install -g appium-uiautomator2-driver,iOS 执行npm install -g appium-xcuitest-driver - Java 客户端需要升级到 8.0+ 版本,适配 Appium 2.0 的新 API
适配后可用代码
AppiumServiceBuilder builder = new AppiumServiceBuilder(); builder.usingAnyFreePort(); // 替换为你的node.exe实际路径,和1.x配置一致即可 builder.usingDriverExecutable(new File("<path to Node>\\node.exe")); // 核心改动:Appium 2.0的入口js改为安装目录下的build/lib/main.js // Windows全局npm安装默认路径:C:\\Users\\你的用户名\\AppData\\Roaming\\npm\\node_modules\\appium\\build\\lib\\main.js // Mac/Linux全局安装默认路径:/usr/local/lib/node_modules/appium/build/lib/main.js builder.withAppiumJS(new File("<path to Appium 2.0 installation folder>\\build\\lib\\main.js")); HashMap<String, String> environment = new HashMap(); environment.put("PATH", "/usr/local/bin:" + System.getenv("PATH")); builder.withEnvironment(environment); // 可按需添加启动参数,比如开启chromedriver自动下载、设置日志等级 builder.withArgument(() -> "--allow-insecure", "chromedriver_autodownload"); builder.withArgument(() -> "--log-level", "info"); service = AppiumDriverLocalService.buildService(builder); service.start();
常见问题排查
- 启动报错找不到模块:检查 Appium 2.0 的入口 js 路径是否正确,确认对应路径下存在 main.js 文件
- 启动后创建会话失败:执行
appium driver list确认对应平台的驱动已经正确安装 - 端口占用报错:将
usingAnyFreePort()替换为usingPort(自定义端口号)手动指定端口即可
内容的提问来源于stack exchange,提问作者monil
相关产品推荐
相关产品推荐

