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

运行Appium脚本时抛出java.lang.NoSuchMethodError异常求助

Appium脚本运行时java.lang.NoSuchMethodError异常排查方案

异常信息

Exception in thread "main" java.lang.NoSuchMethodError: 'void org.openqa.selenium.remote.http.ClientConfig.<init>(java.net.URI, java.time.Duration, java.time.Duration, org.openqa.selenium.remote.http.Filter, java.net.Proxy, org.openqa.selenium.Credentials)'
    at io.appium.java_client.AppiumClientConfig.<init>(AppiumClientConfig.java:62)
    at io.appium.java_client.AppiumClientConfig.defaultConfig(AppiumClientConfig.java:79)
    at io.appium.java_client.remote.AppiumCommandExecutor.<init>(AppiumCommandExecutor.java:109)
    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:101)
    at io.appium.java_client.ios.IOSDriver.<init>(IOSDriver.java:104)
    at Appiumbase.BaseIOSTest.main(BaseIOSTest.java:61)

问题本质

该异常是Appium Java客户端与Selenium依赖版本不兼容导致的:Appium客户端代码调用了某个版本Selenium中存在,但当前项目依赖的Selenium版本中已移除或未实现的ClientConfig构造方法。

排查解决步骤

  • 统一依赖版本
    确保Appium Java客户端和Selenium的版本匹配:

    • Appium Java Client 8.x系列需搭配Selenium 4.x系列;Appium Java Client 7.x系列对应Selenium 3.x系列。
    • 示例Maven依赖(以稳定兼容版本为例):
      <dependency>
          <groupId>io.appium</groupId>
          <artifactId>java-client</artifactId>
          <version>8.5.1</version>
      </dependency>
      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-java</artifactId>
          <version>4.10.0</version>
      </dependency>
      
  • 清理依赖冲突
    检查项目是否存在间接引入的冲突Selenium版本:

    • 用Maven命令mvn dependency:tree或Gradle命令gradle dependencies查看依赖树,定位冲突来源。
    • 在依赖中排除冲突的Selenium模块,示例Maven配置:
      <dependency>
          <groupId>io.appium</groupId>
          <artifactId>java-client</artifactId>
          <version>8.5.1</version>
          <exclusions>
              <exclusion>
                  <groupId>org.seleniumhq.selenium</groupId>
                  <artifactId>selenium-java</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      
  • 重新构建项目
    清理本地依赖缓存,重新执行构建命令:

    • Maven:执行mvn clean install
    • Gradle:执行gradle clean build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:16:05