NoSuchMethodError:com.google.common.base.Preconditions.checkState(ZLjava / lang / String; Ljava / lang / Object; Ljava / lang / Object; Ljava / lang / Object;)V

收到以下错误:

java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V

跑步的时候

System.setProperty("webdriver.chrome.driver", "/ocs/browserDrivers/chromedriver.exe");
//ChromeOptions chromeOptions = new ChromeOptions();
//chromeOptions.addArguments("start-maximized");
driver = new ChromeDriver();

升级到硒3.14和chromedriver 2.42.没有maven项目

enter image description here

最佳答案
此错误消息…

java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V

…表示执行该行时出错:

System.setProperty("webdriver.chrome.driver", "/ocs/browserDrivers/chromedriver.exe");

您的主要问题是WebDriver二进制类型与底层操作系统之间的不兼容性.

您需要从chromedriver.storage下载,提取和使用正确的WebDriver二进制格式,如下所示:

> Linux操作系统:

chromedriver_linux64.tar.gz 2018-09-13 19:30:37 3.85MB

> MAC OS:

chromedriver_mac64.tar.gz   2018-09-13 18:14:11 5.75MB

> Windows操作系统:

chromedriver_win32.zip  2018-09-13 21:11:33 3.42MB

如果您使用的是MAC OS,那么System.setProperty()行将是:

System.setProperty("webdriver.chrome.driver", "/ocs/browserDrivers/chromedriver"); //drop the extension (.exe) part

如果您使用的是Windows操作系统,那么System.setProperty()行将是:

System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe"); //mention the absolute path

转载注明原文:NoSuchMethodError:com.google.common.base.Preconditions.checkState(ZLjava / lang / String; Ljava / lang / Object; Ljava / lang / Object; Ljava / lang / Object;)V - 代码日志