java Chrome 驱动程序异常 NoSuchMethodError
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/42991797/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Chrome driver exception NoSuchMethodError
提问by Tushar Deshpande
I am trying to write test case, using ChromeDriver but while trying to initialise ChromeDriver instance getting exception as,
我正在尝试使用 ChromeDriver 编写测试用例,但是在尝试初始化 ChromeDriver 实例时却出现异常,
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:111)
at org.openqa.selenium.chrome.ChromeDriverService.access@Test
public void test() {
ChromeDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("www.google.com");
}
0(ChromeDriverService.java:32)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:302)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124)
at DemoTests.test(DemoTests.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access <dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.28.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>
0(ParentRunner.java:53)
at org.junit.runners.ParentRunner.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
struggling on it, but unable to fix it. How can I fix this issue? Following is my code base,
挣扎在它,但无法修复它。我该如何解决这个问题?以下是我的代码库,
##代码##回答by glee8e
It appears you are using wrong version of Google guava. Check the web driver document of the version you are using to see which guava version you should use.
看来您使用的是错误版本的谷歌番石榴。检查您使用的版本的 web 驱动程序文档,看看您应该使用哪个 guava 版本。
回答by Shaini Sinha
Generally this error will occur when you're using >45 version of chrome and selenium webdriver < 3 version.
通常,当您使用 > 45 版本的 chrome 和 selenium webdriver < 3 版本时,会发生此错误。
The best way to resolve is to upgrade your selenium webdriver version.
http://www.seleniumhq.org/download/
Download selenium-java-3.4.0.zip under Selenium Client & WebDriver Language Bindings
解决的最佳方法是升级您的 selenium webdriver 版本。
http://www.seleniumhq.org/download/
在 Selenium Client & WebDriver Language Bindings 下下载 selenium-java-3.4.0.zip
回答by Sharat
Ensure that there is no mismatch in Selenium Webdriver versions. For example ensure that same version is in C:\Program Files\SmartBear\SoapUI-5.4.0\bin\lib and C:\Program Files\SmartBear\SoapUI-5.4.0\bin and C:\Program Files\SmartBear\SoapUI-5.4.0\bin\ext in case you are running from SOAPUI Groovy
确保 Selenium Webdriver 版本没有不匹配。例如,确保相同的版本位于 C:\Program Files\SmartBear\SoapUI-5.4.0\bin\lib 和 C:\Program Files\SmartBear\SoapUI-5.4.0\bin 和 C:\Program Files\SmartBear\ SoapUI-5.4.0\bin\ext 以防您从 SOAPUI Groovy 运行
回答by Ashwani Verma
Add below dependency to resolve the issue:
添加以下依赖项以解决问题:
##代码##