Selenium在Chrome Driver中遇到错误

3
  1. 在本地机器上使用chrome driver运行脚本时,我遇到了以下错误,但是同样的脚本在firefox上运行正常。 我正在使用selenium-java 2.48.2和chrome driver 2.20

错误日志..

java.lang.NoSuchMethodError: org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(Lorg/openqa/selenium/remote/service/DriverService;Ljava/util/Map;)V

at org.openqa.selenium.chrome.ChromeDriverCommandExecutor.<init>(ChromeDriverCommandExecutor.java:40)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116)
at com.ancestry.systemtest.TestNGTestBase.setUp(TestNGTestBase.java:137)
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:483)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86)
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:514)
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:215)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:589)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:820)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:782)
at org.testng.TestRunner.run(TestRunner.java:632)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:366)
at org.testng.SuiteRunner.access$000(SuiteRunner.java:39)
at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:400)
at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

2. 测试被忽略了。

java.lang.NullPointerException
at com.ancestry.systemtest.TestNGTestBase.getSessionId(TestNGTestBase.java:177)
at com.saucelabs.testng.SauceOnDemandTestListener.onTestStart(SauceOnDemandTestListener.java:93)
at org.testng.internal.Invoker.runTestListeners(Invoker.java:1700)
at org.testng.internal.Invoker.runTestListeners(Invoker.java:1675)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:619)
at org.testng.internal.Invoker.retryFailed(Invoker.java:967)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1146)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:782)
at org.testng.TestRunner.run(TestRunner.java:632)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:366)
at org.testng.SuiteRunner.access$000(SuiteRunner.java:39)
at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:400)
at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

请添加您的代码,看起来像是jar冲突的问题!! - Pankaj Kumar Katiyar
似乎有一些jar包的依赖关系被忽略了,或者jar包没有正确下载。 - Mrunal Gosar
我已经检查过所有的依赖项都被正确添加了。 - Shiva Krishna
请看这里 - Guy
2个回答

3

我遇到了类似的错误,添加以下依赖项解决了这个问题 -

      <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-remote-driver</artifactId>
      <version>2.48.2</version>
      </dependency>

浏览调用栈并找到有问题的类帮助我分析出我的当前类版本不是最新的。


您好,我正在使用以下工具实现无头浏览器测试:
  • Ubuntu14.04LTS。
  • Chrome 浏览器
  • Chromedriver 二进制文件。
  • Xvfb(用于 headless Chrome)
  • TestNG。
  • 所需的 jar 文件 Selenium、Chromedriver 和 TestNG。
我的完整设置在本地运行得非常完美,但是在另一个我进行了完整设置的服务器上无法正常工作。我的错误是: java.lang.NoSuchMethodError:org.openqa.selenium.chrome.ChromeDriverService$Builder.usingDriverExecutable(Ljava/io/File;)Lorg/openqa/selenium/remote/service/DriverService$Builder; at utilities.Testing.main. 帮帮我。
- kaustubh

1
这是一个依赖问题。 项目构建路径中没有添加所需的selenium jar文件。 还要检查代码中ChromeDriver.exe路径是否正确指定System.setProperty("webdriver.chrome.driver","chromedriver exe path");。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接