java.lang.illegalaccesserror:尝试访问方法com.google.common.util.co



我的Chrome版本是75.0.3770.142,我在代码中使用Chromedriver 75.0.3770.90,在我的代码中,POM依赖关系

>
   <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>3.5.3</version>
   </dependency>

当我尝试运行测试Chromedriver时,没有加载。它给出以下错误

java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa.selenium.net.UrlChecker
    at org.openqa.selenium.net.UrlChecker.<init>(UrlChecker.java:67) ~[selenium-remote-driver-2.53.1.jar:na]
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:175) ~[selenium-remote-driver-2.53.1.jar:na]
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:166) ~[selenium-remote-driver-2.53.1.jar:na]
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78) ~[selenium-remote-driver-2.53.1.jar:na]
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644) ~[selenium-remote-driver-2.53.1.jar:na]
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249) ~[selenium-remote-driver-2.53.1.jar:na]
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131) ~[selenium-remote-driver-2.53.1.jar:na]
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144) ~[selenium-remote-driver-2.53.1.jar:na]
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170) ~[selenium-chrome-driver-2.53.1.jar:na]
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138) ~[selenium-chrome-driver-2.53.1.jar:na]
    at com.bfwg.service.impl.TestSuiteServiceImpl.loadWebDriver(TestSuiteServiceImpl.java:120) ~[classes/:na]
    at com.bfwg.service.impl.TestSuiteServiceImpl.execute(TestSuiteServiceImpl.java:86) ~[classes/:na]
    at com.bfwg.service.impl.TestSuiteServiceImpl$$FastClassBySpringCGLIB$$517eb5f7.invoke(<generated>) ~[classes/:na]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.12.RELEASE.jar:4.3.12.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:669) ~[spring-aop-4.3.12.RELEASE.jar:4.3.12.RELEASE]
    at 
Starting ChromeDriver 75.0.3770.90 (a6dcaf7e3ec6f70a194cc25e8149475c6590e025-refs/branch-heads/3770@{#1003}) on port 23065
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.

此错误消息...

java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa.selenium.net.UrlChecker

...表示 chromedriver 无法启动/产生新的 webbrowser

您的主要问题是不兼容在您使用的二进制文件之间,如下所示:

  • 您正在使用 chromedriver = 75.0
  • 您的 Selenium Client 版本是 3.5.3 2017-08-29T12:42:444.417Z ,几乎 2年大。
  • 您的 JDK版本是我们不知道的。

因此,硒客户端v3.5.3 chromedriver v2.46 。。。


解决方案

  • 升级 jdk 到当前级别JDK 8U212。
  • 已升级到当前级别版本3.141.59。
  • Chromedriver 已更新为当前Chromedriver V76.0级别。
  • chrome 已更新为当前 Chrome版本76.0 级别。(根据Chromedriver v76.0发行说明(
  • 清洁您的项目工作区通过您的 IDE 重建项目仅具有所需依赖性。
  • 如果您的base Web客户端版本太旧了,请卸载它并安装最新的GA并发布版本的版本 Web Client
  • 将您的@Test执行为 non root 用户。

您可以在 com.google.common.util.concurrent.simpletimelimiter 上找到详细的分析。.simpletimelimiter。使用硒 - java 3.5.1或更高时

相关内容

  • 没有找到相关文章

最新更新