【问题标题】:Selenium - Unable to launch browser java.lang.NoClassDefFoundError: okio/SinkSelenium - 无法启动浏览器 java.lang.NoClassDefFoundError: okio/Sink
【发布时间】:2021-10-21 04:44:25
【问题描述】:

问题:当我运行浏览器启动代码时出现以下错误: 环境:窗户 Java 1.8 硒 3.141.59 浏览器 - Chrome 94(使用正确的 crome 驱动程序)

@测试 公共无效测试(){

        System.setProperty("webdriver.chrome.driver", "resources\\chromedriver.exe");
        ChromeOptions options = new ChromeOptions();
         options.addArguments("--start-maximized");
         options.addArguments("--enable-automation");
          options.addArguments("--no-sandbox");
        options.addArguments("--disable-extensions");
        options.addArguments("--dns-prefetch-disable");
        options.addArguments("--disable-gpu");          
    WebDriver driver = new ChromeDriver(options);         
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        driver.get("https://test.com");            
        driver.manage().window().maximize();
        System.out.println("Loading the application url");
        
   }

只允许本地连接。 请参阅https://chromedriver.chromium.org/security-considerations 获取有关确保 ChromeDriver 安全的建议。 ChromeDriver 已成功启动。

java.lang.NoClassDefFoundError: okio/Sink

at okhttp3.RealCall.getResponse(RealCall.java:229)
at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160)
at okhttp3.RealCall.execute(RealCall.java:57)
at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:103)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:105)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:157)
at Base.BrowserLaunch.test(BrowserLaunch.java:34)

如果需要任何其他详细信息,请告诉我。

【问题讨论】:

  • 在这两个中添加--options.addArguments("--start-maximized"); options.addArguments("--enable-automation");

标签: java selenium selenium-webdriver


【解决方案1】:

我前段时间遇到过同样的问题。我已经使用了这段代码,希望它对你也有帮助。

Properties p=Someutility.getTestConfig();
System.setProperty("webdriver.chrome.driver", p.getProperty("driverPath"));
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.navigate().to(p.getProperty("navigationUrl"));
driver.manage().window().maximize();

getTestConfig() 是我获取属性文件以供使用的方法,例如获取 driverPath 和 navigationUrl。

navigationUrl 是我的应用程序正在运行的 url。

这里是getTestConfig()方法供参考。

public static Properties getTestConfig() throws IOException, InterruptedException {
    FileReader reader = new FileReader("pathoffile/somefile.properties");
    Properties p = new Properties();
    p.load(reader);
    return p;

}

【讨论】:

  • 这个解决方案对我不起作用。在“driver = new ChromeDriver();”行上也出现异常并且已经 chromedriver.exe 正确。此错误不会通过实现属性文件来解决。
  • properties 文件仅用于获取驱动程序路径和导航 url。
猜你喜欢
  • 2010-11-27
  • 1970-01-01
  • 2020-04-23
  • 2023-03-22
  • 1970-01-01
  • 2023-03-10
  • 2021-05-16
  • 2016-11-08
  • 1970-01-01
相关资源
最近更新 更多