Google Chrome Driver: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 8: Line 8:


=Controlling a Chrome Browser from Java=
=Controlling a Chrome Browser from Java=
A Java program can control a browser via the Chrome driver:
==Collocated Driver==
A Java program can control a browser via a collocated Chrome driver, which is started as the program runs:
<syntaxhighlight lang='java'>
<syntaxhighlight lang='java'>
import org.openqa.selenium.*;
import org.openqa.selenium.*;
Line 24: Line 25:
}
}
</syntaxhighlight>
</syntaxhighlight>
Assuming <code>chromedriver</code> is installed at the specified location and Chrome is installed in the default location on the system, the program will start a Chrome browser and will execute the automation.
Assuming <code>chromedriver</code> is installed at the specified location and Chrome is installed in the default location on the system, the program will start the driver, then a Chrome browser and will execute the automation.


Playground project: {{External|https://github.com/ovidiuf/playground/tree/master/selenium/chromedriver/chromedriver-java}}
Playground project: {{External|https://github.com/ovidiuf/playground/tree/master/selenium/chromedriver/chromedriver-java}}


More examples: {{External|https://sites.google.com/chromium.org/driver/getting-started}}
More examples: {{External|https://sites.google.com/chromium.org/driver/getting-started}}
==RemoteWebDriver==
A Java program can also control a browser via a remote Chrome driver, accessible over network. The program will use the <code>RemoteWebDriver</code> API.
The remote Chrome driver should be started in advance on the test system:
<syntaxhighlight lang='bash'>
chromedriver
Starting ChromeDriver 90.0.4430.24 (4c6d850f087da467d926e8eddb76550aed655991-refs/branch-heads/4430@{#429}) on port 9515
Only local connections are allowed.
ChromeDriver was started successfully.
</syntaxhighlight>
=Driver Capabilities=
=Driver Capabilities=
{{External|https://sites.google.com/chromium.org/driver/capabilities}}
{{External|https://sites.google.com/chromium.org/driver/capabilities}}

Revision as of 07:56, 2 June 2021

External

Internal

Overview

ChromeDriver is a separate executable that Selenium WebDriver uses to control Chrome. The executable is chromedriver. ChromeDriver expects you to have Chrome installed in the default location for your platform. ChromeDriver can be forced to use a custom location, by setting a special capability.

Controlling a Chrome Browser from Java

Collocated Driver

A Java program can control a browser via a collocated Chrome driver, which is started as the program runs:

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.*;
public class Main {
  public static void main(String[] args) throws Exception {
    System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
    WebDriver driver = new ChromeDriver();
    driver.get("http://www.google.com/");
    WebElement searchBox = driver.findElement(By.name("q"));
    searchBox.sendKeys("ChromeDriver");
    searchBox.submit();
    driver.quit();
  }
}

Assuming chromedriver is installed at the specified location and Chrome is installed in the default location on the system, the program will start the driver, then a Chrome browser and will execute the automation.

Playground project:

https://github.com/ovidiuf/playground/tree/master/selenium/chromedriver/chromedriver-java

More examples:

https://sites.google.com/chromium.org/driver/getting-started

RemoteWebDriver

A Java program can also control a browser via a remote Chrome driver, accessible over network. The program will use the RemoteWebDriver API.

The remote Chrome driver should be started in advance on the test system:

chromedriver
Starting ChromeDriver 90.0.4430.24 (4c6d850f087da467d926e8eddb76550aed655991-refs/branch-heads/4430@{#429}) on port 9515
Only local connections are allowed.
ChromeDriver was started successfully.

Driver Capabilities

https://sites.google.com/chromium.org/driver/capabilities

Operations

Installation

Mac

brew install --cask chromedriver
brew upgrade --cask chromedriver

Version

chromedriver --version