无法通过代码启动Appium服务,报loadSystemProperties未实现错误
解决AppiumServiceBuilder未实现loadSystemProperties()方法的问题
问题根源
这个报错是Appium Java客户端版本与Appium服务器版本不兼容导致的。loadSystemProperties()是Appium Java客户端AppiumServiceBuilder类的抽象方法,当客户端与服务器版本不匹配时,会出现该方法未实现的错误。你的Appium服务器版本是v1.22.3,需搭配对应版本的Java客户端才能正常工作。
解决方案
1. 匹配Java客户端版本
Appium v1.22.3推荐搭配7.5.1版本的Appium Java客户端,请根据项目构建工具更新依赖:
- Maven(修改pom.xml):
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>7.5.1</version> </dependency> - Gradle(修改build.gradle):
implementation 'io.appium:java-client:7.5.1'
2. 修正代码中的参数错误
原代码中withIPAddress方法传入了带http://的地址,该方法仅需纯IP字符串,需修改为:
.withIPAddress("0.0.0.0")
3. 修复后的完整代码
@Test public void appiumBasic() throws MalformedURLException, URISyntaxException { AppiumServiceBuilder builder = new AppiumServiceBuilder() .withAppiumJS(new File("C:\\Users\\spa6a5t\\AppData\\Roaming\\npm\\node_modules\\appium\\build\\lib\\main.js")) .usingDriverExecutable(new File("C:\\Program Files\\nodejs\\node.exe")) .withIPAddress("0.0.0.0") .usingPort(4723) .withArgument(GeneralServerFlag.BASEPATH, "wd/hub"); AppiumDriverLocalService server = AppiumDriverLocalService.buildService(builder); server.start(); System.out.println(server.getUrl()); System.out.println(server.isRunning()); }
4. 额外排查步骤
- 执行项目依赖清理命令(Maven:
mvn clean install;Gradle:gradle clean build),确保新依赖生效。 - 确认Node.js版本为14.x或16.x,避免版本过高或过低导致兼容性问题。
内容的提问来源于stack exchange,提问作者saiteja
相关产品推荐
相关产品推荐

