В этом блоге я буду обсуждать последнюю версию селена, то есть Selenium 3. Чтобы использовать selenium 3, нам нужен драйвер Gecko для запуска тестов в браузере Mozilla.
Итак, первый вопрос, который возникает у нас в голове, «Что такое Gecko?»
Gecko — это название механизма компоновки, разработанного проектом Mozilla. … Функция Gecko заключается в чтении веб-контента, такого как HTML, CSS, XUL, JavaScript, и отображении его на экране пользователя или печати.
Протокол WebDriver реализуется Firefox с помощью исполняемого файла с именем GeckoDriver.exe. Он запускает сервер в вашей системе. Все ваши тесты взаимодействуют с этим сервером для запуска тестов. Он действует как прокси-сервер между локальным и удаленным концами и переводит вызовы в протокол автоматизации Marionette. Чтобы использовать Marionette или Firefox с Selenium 3, вам нужно всего лишь:
- Установите geckodriver.exe в вашей системе.
- Добавьте путь к geckodriver.exe в свой код.
- Используйте 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