В этом блоге я буду обсуждать последнюю версию селена, то есть Selenium 3. Чтобы использовать selenium 3, нам нужен драйвер Gecko для запуска тестов в браузере Mozilla.

Итак, первый вопрос, который возникает у нас в голове, «Что такое Gecko?»

Gecko — это название механизма компоновки, разработанного проектом Mozilla. … Функция Gecko заключается в чтении веб-контента, такого как HTML, CSS, XUL, JavaScript, и отображении его на экране пользователя или печати.

Протокол WebDriver реализуется Firefox с помощью исполняемого файла с именем GeckoDriver.exe. Он запускает сервер в вашей системе. Все ваши тесты взаимодействуют с этим сервером для запуска тестов. Он действует как прокси-сервер между локальным и удаленным концами и переводит вызовы в протокол автоматизации Marionette. Чтобы использовать Marionette или Firefox с Selenium 3, вам нужно всего лишь:

  1. Установите geckodriver.exe в вашей системе.
  2. Добавьте путь к geckodriver.exe в свой код.
  3. Используйте Firefox в своем коде.

В настоящее время я использую Firefox 49.0 и Ubuntu 16.04 LTS.

Вот пример кода:

import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
/**
 * Created by swati on 18/10/16.
 */
public class FirstTest {
public static void main(String [] args){
System.setProperty("webdriver.gecko.driver","/home/sid/Downloads/geckodriver");
        DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        WebDriver driver = new FirefoxDriver(capabilities);
        String url = "https://www.amazon.in/";
        driver.get(url);
        System.out.println("Successfully opened the website www.amazon.com");
        try {
            Thread.sleep(5);
        } catch (Exception e) {
            e.printStackTrace();
        }
        String title = driver.getTitle();
        int titleLength = driver.getTitle().length();
        System.out.println("Title of the page is : " + title);
        System.out.println("Length of the title is : "+ titleLength);
        String actualUrl = driver.getCurrentUrl();
        if (actualUrl.equals(url)){
            System.out.println("Verification Successful - The correct Url is opened.");
        }else{
            System.out.println("Verification Failed - An incorrect Url is opened.");
            System.out.println("Actual URL is : " + actualUrl);
            System.out.println("Expected URL is : " + url);
        }
        String pageSource = driver.getPageSource();
        int pageSourceLength = pageSource.length();
        System.out.println("Total length of the Page Source is : " + pageSourceLength);
        driver.close();
    }
}
Enjoy :)
You can find a demo project using selenium 3 with gecko driver on my repo : Selenium3withGeckoDriver
Reference:
https://github.com/mozilla/geckodriver