小编典典

线程“主”中的异常java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkState(ZLjava / lang / String; Ljava / lang / Object;)

selenium

我开发了以下selenium代码:

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.edge.EdgeDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.support.ui.Select;
    import java.util.List;

    public class TestDemoQA {
        public static void main(String[] args) throws InterruptedException{
            System.setProperty("webdriver.edge.driver", "C:\\Users\\Suganthan\\Downloads\\MicrosoftWebDriver.exe");
            WebDriver driver = new EdgeDriver();
            driver.get("http://demoqa.com/");
            driver.manage().window().maximize();`

我收到的错误是:

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)

我正在尝试根据此解决方案通过升级guava-21.0
解决此问题。但我仍然收到此错误。有人可以提供解决方案吗?


阅读 1587

收藏
2020-06-26

共1个答案

小编典典

此错误消息…

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)

…表示 JVM 无法启动/产生您的程序。

正如@GhostCat指出的那样,您的主要问题是 番石榴* 版本与您使用的其他二进制版本之间的 不兼容性*

  • JDK 升级到最新级别的 JDK 8u181
  • Selenium 升级到当前 版本3.14.0
  • 删除以前版本的 Selenium Client时,请 确保正确删除了所有关联的 jar
  • 清理 你的 项目工作 ,通过你的 IDE重建 仅需要依赖你的项目。
  • 执行您的@Test
2020-06-26