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. Введение

Типы локаторов

Поскольку Webdriver - это инструмент для автоматизации веб приложений, то большая часть работы с ним это работа с веб элементами(WebElements). WebElements - ни что иное, как DOM объекты, находящиеся на веб странице. А для того, чтобы осуществлять какие-то действия над DOM объектами / веб елементами необходимо их точным образом определить(найти).

    WebElement element = driver.findElement(By.<Selector>);

Таким образом в Webdriver определяется нужный элемент. By - класс, содержащий статические методы для идентификации элементов:

1.By.id

Пример:

<div id="element_id">
     <p>some content</p>
</div>

Поиск элемента:

 WebElement element = driver.findElement(By.id("element_id"));

2.By.name

Пример:

<div name="element_name">
     <p>some content</p>
</div>

Поиск элемента:

WebElement element = driver.findElement(By.name("element_name"));

3.By.className

Пример:

<img class="element_class">

Поиск элемента:

WebElement element = driver.findElement(By.className("element_class"));

4.By.TagName

Пример:

<div>
     <a class="logo" ref="...">...</a>
     <a class="support" ref="...">...</a>
</div>

Поиск элемента:

List<WebElement> elements = driver.findElements(By.tagName("a"));

5.By.LinkText

Пример:

<div>
     <a ref="...">text</a>
     <a ref="...">Another text</a>
</div>

Поиск элемента:

WebElement element = driver.findElement(By.linkText("text"));

6.By.PartialLinkText

Поиск элемента:

WebElement element = driver.findElements(By.partialLinkText("text"));

7.By.cssSelector

<div class='main'>
     <p>text</p>
     <p>Another text</p>
</div>

Поиск элемента:

WebElement element=driver.FindElement(By.cssSelector("div.main"));

8.By.XPath

<div class='main'>
     <p>text</p>
     <p>Another text</p>
</div>

Поиск элемента:

WebElement element = driver.findElement(By.xpath("//div[@class='main']"));
PreviousОсновные методы Selenium Webdriver APINextОжидания

Last updated 6 years ago