Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;“主要”;java.lang.NoSuchMethodError:com.google.common.base.premissions.checkState(ZLjava/lang/String;Ljava/lang/Object;)_Java_Selenium_Selenium Webdriver_Webdriver_Guava - Fatal编程技术网

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

“线程中的异常”;“主要”;java.lang.NoSuchMethodError:com.google.common.base.premissions.checkState(ZLjava/lang/String;Ljava/lang/Object;),java,selenium,selenium-webdriver,webdriver,guava,Java,Selenium,Selenium Webdriver,Webdriver,Guava,我开发了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

我开发了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来解决这个问题。但我还是有这个错误。有人能给出解决方案吗?

此错误消息

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升级到最新级别
  • 将硒升级到当前水平
  • 删除早期版本的Selenium客户端时,请确保正确删除了所有关联的JAR
  • 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
  • 执行
    @测试
此错误消息

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升级到最新级别
  • 将硒升级到当前水平
  • 删除早期版本的Selenium客户端时,请确保正确删除了所有关联的JAR
  • 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
  • 执行
    @测试

注意,从罐子列表中删除旧番石榴,然后用新番石榴替换它

注意,从罐子列表中删除旧番石榴,然后用新番石榴替换它

最后,我找到了解决方案。很简单,伙计们。在您的项目中添加最新的番石榴罐。注意:如果您已经有一个旧的罐子(请移除它并添加一个新的)。点击链接:mvnrepository.com/artifact/com.google.guava/guava/29.0-jre

最后,我找到了一个解决方案。很简单,伙计们。在您的项目中添加最新的番石榴罐。注意:如果您已经有一个旧的罐子(请移除它并添加一个新的)。点击链接:mvnrepository.com/artifact/com.google.guava/guava/29.0-jre

我有点明白了这是什么。所以我使用TestNG添加到项目的类路径中

当我传统地保存下面给出的Selenium罐子时,它抛出了问题中所述的错误

现在,如果您在将selenium JAR更新到最新版本后仍然出现错误,那么这就是TestNG JAR中的问题。如果您近距离导航到testngjars文件夹,您会看到guava已经存在(在大多数情况下都有一些过时的版本)。只需删除那个

在我的例子中,我在selenium jars文件夹(版本30或其他什么)中有最新的番石榴jar,但在我的TestNG文件夹中,我有大约19个版本的番石榴jar——因此给jvm造成了混乱


因此,简而言之,在下载了更新的JAR但仍然出现这种错误的情况下,大多数情况下都会出现某种歧义。

我有点明白这是什么。所以我使用TestNG添加到项目的类路径中

当我传统地保存下面给出的Selenium罐子时,它抛出了问题中所述的错误

现在,如果您在将selenium JAR更新到最新版本后仍然出现错误,那么这就是TestNG JAR中的问题。如果您近距离导航到testngjars文件夹,您会看到guava已经存在(在大多数情况下都有一些过时的版本)。只需删除那个

在我的例子中,我在selenium jars文件夹(版本30或其他什么)中有最新的番石榴jar,但在我的TestNG文件夹中,我有大约19个版本的番石榴jar——因此给jvm造成了混乱


因此,简而言之,在下载更新过的JAR但仍会出现此类错误的情况下,大多数情况下都会出现某种歧义。

您使用的库的版本不匹配。基本上,您应该检查正在使用的selenium版本的发布信息。这应该包含有关您需要使用哪个版本的番石榴的信息!您正在使用的库的版本不匹配。基本上,您应该检查正在使用的selenium版本的发布信息。这应该包含有关您需要使用哪个版本的番石榴的信息!