标签: webdrivermanager-java

WebDriverManager 安装程序无法下载 chromedriver 116

这是复制该问题的代码。在 chromedriver 114 之前,这一切都工作正常,但当 chrome 浏览器升级到 116 时,它就崩溃了。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;

public class ChromeTest {
public static void main(String args[]) {
    WebDriverManager.chromedriver().setup();
    WebDriver driver  = new ChromeDriver();
    driver.get("https://www.google.com/");
    String title = driver.getTitle();
    System.out.println(title);
    driver.quit();
  }
}
Run Code Online (Sandbox Code Playgroud)

该错误表明库无法访问 116 的版本文件

automation selenium-chromedriver selenium-webdriver webdrivermanager-java

11
推荐指数
2
解决办法
3万
查看次数

在 Maven 项目中使用 WebDriverManager 运行 ChromeDriver 时出现异常

尝试在 Maven 项目中使用 WebDriverManager 打开 ChromeDriver 时出现异常。

我计划的框架倾向于在 pom.xml 中添加依赖项后从 WebDriverManager 中提取 ChromeDriver,并打算使用 Gauge 执行测试。

在运行测试时尝试为 ChromeDriver 创建新实例时发生错误。

这是例外:

 Error Message: java.lang.NoSuchMethodError: com.google.common.util.concurrent.SimpleTimeLimiter.create(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/SimpleTimeLimiter;
  Stacktrace: 
  org.openqa.selenium.net.UrlChecker.<init>(UrlChecker.java:64)
  org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:187)
  org.openqa.selenium.remote.service.DriverService.start(DriverService.java:178)
  org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78)
  org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:646)
  org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:255)
  org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:237)
  org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:138)
  org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:178)
  org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:167)
  org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124)
  StepTests.setupTest(StepTests.java:26)
  sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  java.lang.reflect.Method.invoke(Unknown Source)
  com.thoughtworks.gauge.execution.MethodExecutor.execute(MethodExecutor.java:38)
  com.thoughtworks.gauge.execution.HooksExecutor$TaggedHookExecutor.executeHook(HooksExecutor.java:102)
  com.thoughtworks.gauge.execution.HooksExecutor$TaggedHookExecutor.execute(HooksExecutor.java:88)
  com.thoughtworks.gauge.execution.HooksExecutor.execute(HooksExecutor.java:45)
  com.thoughtworks.gauge.processor.MethodExecutionMessageProcessor.executeHooks(MethodExecutionMessageProcessor.java:65)
  com.thoughtworks.gauge.processor.SpecExecutionStartingProcessor.process(SpecExecutionStartingProcessor.java:32)
  com.thoughtworks.gauge.connection.MessageDispatcher.dispatchMessages(MessageDispatcher.java:89)
  com.thoughtworks.gauge.GaugeRuntime.dispatchMessages(GaugeRuntime.java:104)
  com.thoughtworks.gauge.GaugeRuntime.access$100(GaugeRuntime.java:36)
  com.thoughtworks.gauge.GaugeRuntime$2.run(GaugeRuntime.java:85)
  java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

运行此代码时:

import com.thoughtworks.gauge.*;
import io.github.bonigarcia.wdm.ChromeDriverManager;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import com.thoughtworks.gauge.Step;
import static org.junit.Assert.assertEquals;


public class StepTests {
//Holds the …
Run Code Online (Sandbox Code Playgroud)

maven gauge selenium-chromedriver getgauge webdrivermanager-java

5
推荐指数
1
解决办法
5196
查看次数

使用 WebDriverManager 时如何设置 Chrome 选项?

我正在使用 Web 驱动程序管理器来设置 chrome 驱动程序。设置驱动程序时我想添加一些chrome 选项?使用 Web 驱动程序管理器时我该怎么做?

我检查了 WebDriverManager API 但找不到任何线索..

java automated-tests selenium-chromedriver webdrivermanager-java

5
推荐指数
1
解决办法
3178
查看次数

Chromedriver 79.0.3945.88。存在?

我正在远程 Jenkins Linux 机器上运行我的 Selenium CI 测试。我也在使用 WebDriverManager 来管理 Chromedriver。

远程 Chrome 版本为 79.0.3945.88。这是我无权更改的内容。当 Chrome 版本从 78 更新时,我开始收到警告

07:26:19 [1579242379.444][WARNING]: This version of ChromeDriver has not been tested with Chrome version 79.
Run Code Online (Sandbox Code Playgroud)

所以我更新了 Chromedriver

WebDriverManager.chromedriver().version("79.0.3945.88").setup();
Run Code Online (Sandbox Code Playgroud)

但我会得到

09:02:35 09:02:35.908 [main] DEBUG i.g.bonigarcia.wdm.WebDriverManager - The proper chromedriver version for your Google Chrome is unknown ... trying with the latest
09:02:37 09:02:36.999 [main] DEBUG i.g.bonigarcia.wdm.WebDriverManager - Latest version of chromedriver according to https://chromedriver.storage.googleapis.com/LATEST_RELEASE is 79.0.3945.36
09:02:37 09:02:37.030 [main] INFO  i.g.bonigarcia.wdm.WebDriverManager - …
Run Code Online (Sandbox Code Playgroud)

continuous-integration webdriver selenium-chromedriver selenium-webdriver webdrivermanager-java

5
推荐指数
1
解决办法
1102
查看次数

由于 chromedriver 版本使用不正确,Vividus 测试无法启动

我正在使用Vividus工具进行 Web UI 测试似乎无法检测到已安装Chrome的正确版本;我有版本 83.0.4103.61 的 Chrome 和 io.github.bonigarcia.wdm.WebDriverManager 报告检测到版本 81,结果测试没有开始。

日志

io.github.bonigarcia.wdm.WebDriverManager - Using chromedriver 81.0.xxxxx.xx (since Chrome 81 is installed in your machine)
Run Code Online (Sandbox Code Playgroud)
2020-05-27 17:20:25,179 [batch-1-thread-1] INFO  org.vividus.bdd.log.LoggingStoryReporter - Given I am on the main application page (FAILED)
(org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 81
Build info: version: '4.0.0-alpha-1', revision: 'd1d3728cae', time: '2019-04-24T13:42:21'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '13'
Driver info: driver.version: ChromeDriver …
Run Code Online (Sandbox Code Playgroud)

automation ui-automation webdrivermanager-java vividus

5
推荐指数
1
解决办法
137
查看次数

CreatePlatformSocket() 失败:协议不支持地址系列,并且无法在 AWS Lambda 中使用 WebDriverManager 找到 chrome 二进制文件

我不知道我做错了什么,但由于某种原因,尽管我使用 WebDriverManager,但它无法找到 chrome 二进制文件。我将日志放在下面以供参考,但据说它找不到二进制文件(或者无法下载二进制文件?)我到处都发现了类似的问题,但似乎没有一个解决方案有效。

设置

WebDriverManager.chromedriver()
        .targetPath("/tmp")
        .setup();
ChromeOptions options = new ChromeOptions();
options.addArguments(
        "--no-sandbox",
        "--disable-gpu",
        "--enable-javascript",
        "disable-infobars",
        "--disable-dev-shm-usage",
        "--disable-extensions",
        "--headless",
        "--user-data-dir=/tmp/user-data",
        "--data-path=/tmp/data-path",
        "--homedir=/tmp",
        "--disk-cache-dir=/tmp/cache-dir",
        "window-size=1400,600",
        "log-level=3");
this.driver = (WebDriver) new ChromeDriver(options);
this.driver.manage().deleteAllCookies();
this.driver.manage().window().fullscreen();
Run Code Online (Sandbox Code Playgroud)

聚甲醛

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.10.0</version>
</dependency>

<dependency>
    <groupId>org.seleniumhq.webdriver</groupId>
    <artifactId>webdriver-common</artifactId>
    <version>0.9.7376</version>
</dependency>

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>3.7.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

日志

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Nov 01, 2019 9:41:27 AM java.util.prefs.FileSystemPreferences$1 run
WARNING: Couldn't create …
Run Code Online (Sandbox Code Playgroud)

java selenium selenium-chromedriver aws-lambda webdrivermanager-java

5
推荐指数
1
解决办法
1万
查看次数

使用 WebDriverManager 5.0.3 时导致 java.lang.NoClassDefFoundError: org/openqa/selenium/internal/Require 的原因是什么

我有一个 Spring Boot 应用程序,我想用 Selenium 进行测试。我正在使用 WebDriverManager v5.0.3

设置 WebDriver 时WebDriverManager.chromedriver().setup();出现异常:

java.lang.NoClassDefFoundError: org/openqa/selenium/internal/Require
Run Code Online (Sandbox Code Playgroud)

或者

java.lang.ClassNotFoundException: org.openqa.selenium.internal.FindsById
Run Code Online (Sandbox Code Playgroud)

我的 pom.xml 包含以下内容:

        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>5.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
            <version>4.1.0</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

selenium selenium-webdriver webdriver-manager webdrivermanager-java

4
推荐指数
2
解决办法
2万
查看次数

为什么在设置 PhantomJS 驱动程序时会出错?

我正在尝试在 Maven 和 Java 项目中使用 Selenium 和 PhantomJS。

以下是我在 pom.xml 文件中使用的依赖项:

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-server-standalone</artifactId>
      <version>2.53.0</version>
      <scope>test</scope>
    </dependency>

    <dependency>
       <groupId>io.github.bonigarcia</groupId>
       <artifactId>webdrivermanager</artifactId>
       <version>1.4.5</version>
       <scope>test</scope>
    </dependency>
</dependencies>

<repositories>
      <repository>
        <id>jenkins-releases</id>
        <url>http://repo.jenkins-ci.org/releases/</url>
      </repository>
</repositories>`
Run Code Online (Sandbox Code Playgroud)

在我的 Java 文件中,我尝试使用以下方法设置 PhantomJS 驱动程序,而我的计算机上没有 JAR 文件:

public void set_up(){
    PhantomJsDriverManager.getInstance().setup();

    // Configuration du driver
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setJavascriptEnabled(true);
    driver = new PhantomJSDriver(capabilities);
 }
Run Code Online (Sandbox Code Playgroud)

当我第一次尝试这个时,它运行良好,但一两个星期后,我收到了这个错误:

public void set_up(){
    PhantomJsDriverManager.getInstance().setup();

    // Configuration du driver
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setJavascriptEnabled(true);
    driver = …
Run Code Online (Sandbox Code Playgroud)

java phantomjs selenium-webdriver webdrivermanager-java

0
推荐指数
1
解决办法
700
查看次数

webdrivermanager 是否支持 RemoteWebDriver (Selenium Grid)?

我已经在我的 pom.xml 文件中更新了 WebDrivermanager 的依赖项。在像下面这样在我的本地运行代码时,它似乎工作正常。

driver = new ChromeDriver(capability);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用 RemoteWebDriver 远程运行代码时,它失败并不断要求为浏览器添加二进制文件

URL remote_grid = new URL("http://" + seleniumHub + ":" + seleniumHubPort + "/wd/hub");
driver = new RemoteWebDriver(remote_grid, capability);
Run Code Online (Sandbox Code Playgroud)

它抛出以下异常。

[Invoker 1386767190] Keeping method SeleniumInit.setUp(java.lang.reflect.Method, org.testng.ITestContext)[pri:0, instance:com.wo2.commonfucntion.index.LoginIndex@598067a5] for class [TestClass name=class com.wo2.commonfucntion.index.LoginIndex]
[Invoker 1386767190] Keeping method SeleniumInit.tearDown(org.testng.ITestResult)[pri:0, instance:com.wo2.commonfucntion.index.LoginIndex@598067a5] for class [TestClass name=class com.wo2.commonfucntion.index.LoginIndex]
[Invoker 1386767190] Keeping method SeleniumInit.setUp(java.lang.reflect.Method, org.testng.ITestContext)[pri:0, instance:com.wo2.commonfucntion.index.LoginIndex@598067a5] for class [TestClass name=class com.wo2.commonfucntion.index.LoginIndex]
[Invoker 1386767190] Invoking @BeforeMethod SeleniumInit.setUp(java.lang.reflect.Method, org.testng.ITestContext)[pri:0, instance:com.wo2.commonfucntion.index.LoginIndex@598067a5]
13:27:40.503 [main] INFO  i.g.bonigarcia.wdm.BrowserManager - Reading https://chromedriver.storage.googleapis.com/ …
Run Code Online (Sandbox Code Playgroud)

webdrivermanager-java

0
推荐指数
1
解决办法
3151
查看次数