Selenium Webdriver для Java автоматизаторов
  • Introduction
  • Selenium Webdriver. Введение
    • WebDriver. Обзор и принцип работы
    • Основные методы Selenium Webdriver API
    • Типы локаторов
    • Ожидания
    • Пример использования Webdriver API
  • Selenium WebDriver. Сложные вопросы.
    • Локаторы. CSS, XPATH, JQUERY.
    • WebDriver API. Сложные взаимодействия.
    • Контроль за ходом теста. Кастомные ожидания, попапы, алерты, Iframes.
    • DDT подход
  • Page Object Pattern. Архитектура тестового проекта.
    • Использование паттерна Page Object.
    • Альтернативные Page Object подходы.
    • Вспомогательные инструменты.
    • Уровни абстракции. Создание кастомных элементов.
    • Архитектура. Основные элементы.
  • Selenium Grid и "headless" браузеры
    • Использование HtmlUnit драйвера в автотестировании
    • "Headless" тестирование с PhantomJS и SlimerJS
    • Grid. Настройка и использование.
  • Selenium Webdriver. Проблемные моменты
    • Вспомогательные инструменты
    • Basic Authentification Window
    • Загрузка файла
    • Отправление файла (upload)
    • Логгирование в Selenium Webdriver
    • Скриншоты элементов и работа с изображением
  • Selenium Webdriver. Тестирование HTML5 веб приложений
    • Автоматизация Canvas элементов.
    • Автоматизация видео плеера.
    • Работа с web storage.
  • Selenium Webdriver. Расширение инструмента
    • Selenium "обертки" и расширения
    • Thucydides
    • Geb
    • Selenide
    • Репортинг
  • Selenium Webdriver. Тестирование клиентской производительности
    • Navigation timing API
    • Browser Mob Proxy
    • DynaTrace
    • HttpWatch
  • Selenium Webdriver. Behavior-Driven Development.
    • Обзор методологии и инструментов на Java.
    • Cucumber JVM + Selenium Webdriver.
    • JBehave + Selenium Webdriver.
  • Selenium Webdriver. Тестирование на мобильных браузерах
    • Обзор инструментов
    • Установка и настройка Appium. Принципы и основы работы с инструментом
    • Запуск тестов на десктоп и мобильных браузерах
  • Облачные сервисы.
    • Обзор рынка облачных сервисов для тестирования.
    • SauceLabs. Услуги и планы.
    • Настройка тестов для запуска в SauceLabs.
    • Использование Sauce Connect и Travis CI.
  • Continuous Integration
    • Что такое Continuous Integration
    • Распространенные CI-серверы
    • Jenkins - установка и настройка
Powered by GitBook
On this page
  1. Selenium Webdriver. Введение

Основные методы Selenium Webdriver API

PreviousWebDriver. Обзор и принцип работыNextТипы локаторов

Last updated 6 years ago

Основными понятиями в Selenium Webdriver являются:

  • Webdriver - самая важная сущность, ответственная за управление браузером. Основной ход скрипта/теста строится именно вокруг экземпляра этой сущности.

  • Webelement - вторая важная сущность, представляющая собой абстракцию над веб-элементом (кнопки, ссылки, поля ввода и др.). Webelement инкапсулирует методы для взаимодействия пользователя с элементами и получения их текущего статуса.

  • By - абстракция над локатором веб-элемента. Этот класс инкапсулирует информацию о селекторе(например, CSS), а также сам локатор элемента, то есть всю информацию, необходимую для нахождения нужного элемента на странице.

Сам процесс взаимодействия с браузером через Webdriver API довольно прост: 1. Нужно создать Webdriver: WebDriver driver = new ChromeDriver(); При выполнении этой команды будет запущен Chrome, при условии, что он установлен в директорию по умолчанию и путь к ChromeDriver сохранен в системной переменной PATH.

  1. Необходимо открыть тестируемое приложение (AUT), перейдя по URL: driver.get(""); Теоретически в хроме при этом должен открыться сайт компании. Обратите внимание, что URL приложения необходимо указать полностью, включая префикс.

  2. Далее следует серия действий по нахождению элементов на странице и взаимодействию с ними: By elementLocator = By.id("#element_id"); WebElement element = driver.findElement(elementLocator)); Или более кратко: WebElement element = driver.findElement(By.id("#element_id"))); После нахождения элемента, кликнем по нему: element.click(); Далее следует совокупность похожих действий, как того требует сценарий.

  3. В конце теста (часто также и в середине) должна быть какая-то проверка, которая и определит в конечном счёте результат выполнения теста: assertEquals("Webpage expected title", driver.getTitle()); Проверки может и не быть, если цель вашего скрипта - не тест, а выполнение какой-то рутины.

  4. После теста надо закрыть браузер:

     driver.quit();

Следует отметить, что для поиска элементов доступно два метода: 1. Первый - найдёт только первый элемент, удовлетворяющий локатору: WebElement element = driver.findElement(By.id("#element_id"))); 2. Второй - вернёт весь список элементов, удовлетворяющих запросу: List elements = driver.findElements(By.name("elements_name"))

Более полную документацию Webdriver API можно найти по адресу:

http://mycompany.site.com
http://selenium.googlecode.com/git/docs/api/java/index.html