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

在SoapUI 5.2.1中启动Chrome时遇NoSuchMethodError错误求助

解决SoapUI中运行Selenium Chrome脚本的NoSuchMethodError问题

嗨,这个java.lang.NoSuchMethodError问题本质是Selenium依赖版本不兼容导致的类冲突,我们来一步步解决:

问题根源

你同时在SoapUI/bin/ext目录下放了两个版本差异极大的Selenium jar包:

  • selenium-server-standalone-3.4.0.jar(3.x版本)
  • selenium-chrome-driver-2.3.1.jar(2.x版本)

selenium-server-standalone包本身已经包含了所有Selenium核心组件(包括ChromeDriver的实现类),而旧版本的selenium-chrome-driver jar会优先加载旧的类文件,其中org.openqa.selenium.os.CommandLine.findExecutable方法在3.x版本的Selenium中已经有了签名变化,导致调用时找不到对应的方法。

另外你用的chromedriver 2.36和Selenium 3.4.0版本是兼容的,这部分没问题,不用调整。

解决方案

  1. 清理冲突依赖
    直接删除SoapUI/bin/ext目录下的selenium-chrome-driver-2.3.1.jar,只保留selenium-server-standalone-3.4.0.jar和chromedriver.exe即可。

  2. 完善脚本导入
    在你的Groovy脚本开头添加必要的类导入,避免类加载异常:

    import org.openqa.selenium.WebDriver
    import org.openqa.selenium.chrome.ChromeDriver
    import java.util.concurrent.TimeUnit
    
    System.setProperty("webdriver.chrome.driver","D:\\SoapUI-5.2.1\\bin\\ext\\chromedriver.exe") 
    WebDriver driver = new ChromeDriver(); 
    driver.manage().window().maximize(); 
    driver.get("https://www.MyUrl.com") 
    driver.manage().timeouts().implicitlyWait(120,TimeUnit.SECONDS);
    
  3. 重启SoapUI
    修改ext目录下的jar包后,必须重启SoapUI,确保新的依赖被正确加载,清除旧的类缓存。

完成以上步骤后,重新运行脚本应该就能正常启动Chrome浏览器了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:23:14