Программирование [Software-testing] Selenium WebDriver: полное руководство

Тренер: Баранцев Алексей, участник команды разработки инструмента Selenium

Если Вы попали на эту страницу -- значит, нет смысла рассказывать Вам про популярность Selenium и убеждать в необходимости его изучения, Вы это и так уже понимаете. Вопрос не в том, изучать или нет, а в том, как именно изучать.

Чтобы помочь вам определиться с выбором, мы решили рассказать, на каких принципах построен этот учебный курс, чем он отличается от наших предыдущих тренингов и от того, что предлагают другие учебные центры.

1. Selenium во главе угла
Достаточно часто можно встретить “тренинги по Selenium”, программа которых содержит всё, что пришло в голову автору учебного курса -- основы программирования, XML, SQL, JUnit, Maven, Jenkins, Git, ну и немного про Selenium.

Это, конечно, выглядит привлекательно -- на одном тренинге выучить сразу всё. Но в итоге получается в точности наоборот -- ни одна из тем не покрывается достаточно полно.

В нашем тренинге главным будет Selenium.

Это не означает, что смежные темы совсем не будут рассматриваться. Целое занятие будет посвящено настройке инфраструктуры. Говоря о поиске элементов, нельзя обойти стороной XPath и CSS. При обсуждении способов запуска тестов попутно поговорим про Docker. Разговор о шаблоне проектирования PageObject и его альтернативах тесно связан с вопросом о том, как вообще строить архитектуру тестов.

Но про Selenium мы расскажем всё и с подробностями, а всё остальное -- по касательной, со ссылками для дальнейшего самостоятельного изучения.

2. Полнота материала
Ни на каком другом тренинге и ни в одной книге Вы не найдёте более полной информации о Selenium 3.0.

Если найдёте -- мы Вам дадим скидку 50% на этот учебный курс :)

3. Мультиязычность
Основные принципы и приёмы использования Selenium, рассматриваемые в тренинге, будут сопровождаться примерами на пяти языках, которые “официально” поддерживаются разработчиками Selenium: Java, C#, Python, Ruby, JavaScript.

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

Вместе с тем, особенности каждого языка, его стиль, накладывают отпечаток на реализацию Selenium для этого языка. Поэтому в тренинге будут специальные модули, посвящённые именно таким особенностям.

Даже если какой-то язык для вас “неродной” -- мы всё равно рекомендуем смотреть “чужие” модули. Может быть после этого вы решите сменить язык :)

4. Selenide, Protractor, PageObjects и другие модные темы
Отдельное занятие будет посвящено разнообразным надстройкам над Selenium.

Их много, они решают разные задачи, некоторые из них более популярны, другие не так известны, но ничуть не хуже.

Каждая надстройка добавляет что-то к функциональности Selenium, поэтому их удобно рассматривать не как самостоятельные инструменты, а именно в сравнении с Selenium -- чем именно каждая из них отличается от общего “базиса”.

Подробную программу тренинга смотрите чуть ниже.

Но сначала мы должны предупредить, что есть три условия, без которых вы вряд ли сможете успешно пройти этот учебный курс.

Это тренинг для тех, кто умеет программировать. Если не умеете -- тогда посмотрите наши тренинги “Программирование для тестировщиков”, есть версии для Java, C# и Python. Впрочем, можно пройти любой другой тренинг или научиться программировать самостоятельно. Если не хотите учиться программировать -- обратите внимание на курс “Selenium: стартовый уровень”, в нём рассматривается инструмент Selenium IDE, который не требует умения писать код.

Насколько хорошо надо уметь программировать, чтобы без проблем пройти этот курс? Посмотрите программу упомянутых выше тренингов по программированию. Если Вы считаете, что знаете и умеете всё то, о чём идёт речь в первых четырёх занятиях -- этого вполне достаточно.

Необходимо понимать, как работает браузер. Слова HTML, CSS, JavaScript, DOM, HTTP не должны звучать как незнакомая и непонятная абракадабра.

Нужно будет выполнять домашние задания. Для успешного применения инструмента недостаточно получить информацию о нём, нужно выработать навыки. Это происходит только путём тренировки, самостоятельного решения сначала простых, а потом более сложных задач. Выполнение домашних заданий потребует в среднем около 4 часов в неделю. Смотреть лекции недостаточно. Придётся работать руками и головой. Будьте готовы к этому.

Подробная программа тренинга
Общая информация

  • Что такое Selenium
  • Краткая история развития
  • Принцип работы Selenium WebDriver
  • Стандарт W3C WebDriver
  • Сравнение с конкурентами
  • Источники информации
Первые шаги: пробежимся по верхам

  • Необходимая инфраструктура
  • Подготовка инфраструктуры для Java, C#, Python, Ruby, JavaScript
  • Запуск и останов браузера
  • Открытие страниц и ожидание загрузки страницы
  • Поиск элементов на странице
  • Действия: click и sendKeys
  • Свойства элементов: getText и getAttribute
Запуск браузеров

  • Исполняемые файлы-посредники
  • Выбор "правильной" версии браузера
  • Особенности запуска на разных операционных системах
  • Capabilities
  • Cookies, чистый и грязный запуск
  • Подробнее про каждый браузер (Chrome, Firefox, Internet Explorer, Edge, Safari, другие)
  • Работа с несколькими браузерами одновременно
  • WebDriverFactory
Поиск элементов

  • Типы локаторов
  • Какие локаторы лучше всех?
  • Отладка локаторов
  • Надёжные и ненадёжные локаторы
  • Списки элементов
  • Поиск внутри элемента
  • Неявные ожидания
  • Стратегии ожидания загрузки страницы
  • Поиск при помощи executeScript
Получение свойств элементов

  • Атрибуты и свойства
  • Текст
  • Видимость
  • Размер и положение
  • Стили
Действия с элементами

  • Простые
    • click
    • sendKeys
    • clear
    • submit
  • Сложные
    • Наведение мыши
    • Перетаскивание
    • Правая кнопка мыши
    • Управление по координатам
    • Модификаторы (ctrl, shift)
Ожидания (WebDriverWait)

  • Ожидание появления
  • Ожидание видимости
  • Ожидание исчезновения
  • Ожидание свойств элемента
  • Ожидание нужного количества элементов
  • Произвольные условия ожидания
  • StaleElementReferenceException и борьба с ним
  • Неудачные попытки как альтернатива ожиданиям
Окна и диалоги

  • Alerts
  • Uploading files
  • Downloading files
  • Окна и вкладки
  • Фреймы
Удалённый запуск

  • Selenium Server
  • Selenium Grid
  • Selenium Grid Extras
  • Облачные сервисы
Протоколирование

  • EventFiringWebDriver
  • Доступ к логам браузера
  • Снятие скриншотов
  • Запись видео
  • Запись трафика
PageObjects и другие шаблоны проектирования

  • Откуда “ноги растут” у этого шаблона проектирования?
  • Разделение зон ответственности в тестах
  • Различные реализации PageObjects
  • Альтернативные шаблоны проектирования (PageBocks, Services)
Расширения и обёртки

  • Драйверы (Appium, Winium, Windows Application Driver)
  • Альтернативные API (Watir, Selenide, FluentSelenium)
  • BDD и другие альтернативные стили (RobotFramework, Serenity, Capybara, Geb, ScalaTest)
Формат курса
Онлайн-тренинг 12 занятий по 45-60 минут с практическими домашними заданиями.

Обучение происходит следующим образом:

В специальном закрытом разделе выкладываются записи уроков, ссылки на дополнительные материалы, домашняя работа.

Теоретическую информацию можно посмотреть в любое удобное время.

Помимо теоретической части, вас также ждут практические домашние задания, которые тщательно проверяются тренером. После проверки практических заданий Вы получаете оценку и подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать домашнюю работу и улучшить свою оценку.

Общение участников курса и тренеров проходит в скайп-чате учебной группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками учебной группы. Каждый день тренер будет доступен в скайп-чате и каждый день будет отвечать на вопросы, Вы можете задавать вопросы по теоретическому материалу или домашней работе, как только они у вас возникают.

[HIDEPL="10,5"]https://cloud.mail.ru/public/KqoZ/zGXxZaUzu [/HIDEPL]
 

Рекламное сообщение
Octo Browser — антидетект браузер, подходящий для любого вида маркетинга: арбитраж трафика, партнерский маркетинг, веб-скрейпинг, SMM, ORM и многое другое.

Преимущества нашего браузера:

✅ Подмены выполняются на уровне браузерного ядра — максимальная защита от идентификации устройства
✅ Высокие показатели стабильности работы — аптайм составляет 99,995%
✅ Оперативное обновление ядра до актуальных версий
✅ Пользовательские данные хранятся на европейских облачных серверах и зашифрованы по стандарту AES
✅ Возможность экспорта профилей в файл, который можно передавать другому пользователю браузера
✅ Безошибочно проходит проверки Pixelscan, BrowserLeaks, CreepJS

4 дня пробной подписки BASE по промокоду: PIRATEHUB

➡️ Подробнее о сервисе
 

Полезный материал.Еще для тех кто интересуется тестированием, есть хороший сайт и ютуб канал Portnov Computer School, по селениуму видио также имеется, правда материал на английском.
 

недавно только узнал о нем, когда смотрел разные видео по C# и наткнулся на канал байки от игоряна там есть у него видео штук 10 про силениум, в том числе и про создание бота для букса на сеоспринт, для автопродажи карточек в стим, ну и так начальные туторы
 

Тренер: Баранцев Алексей, участник команды разработки инструмента Selenium

Если Вы попали на эту страницу -- значит, нет смысла рассказывать Вам про популярность Selenium и убеждать в необходимости его изучения, Вы это и так уже понимаете. Вопрос не в том, изучать или нет, а в том, как именно изучать.

Чтобы помочь вам определиться с выбором, мы решили рассказать, на каких принципах построен этот учебный курс, чем он отличается от наших предыдущих тренингов и от того, что предлагают другие учебные центры.

1. Selenium во главе угла
Достаточно часто можно встретить “тренинги по Selenium”, программа которых содержит всё, что пришло в голову автору учебного курса -- основы программирования, XML, SQL, JUnit, Maven, Jenkins, Git, ну и немного про Selenium.

Это, конечно, выглядит привлекательно -- на одном тренинге выучить сразу всё. Но в итоге получается в точности наоборот -- ни одна из тем не покрывается достаточно полно.

В нашем тренинге главным будет Selenium.

Это не означает, что смежные темы совсем не будут рассматриваться. Целое занятие будет посвящено настройке инфраструктуры. Говоря о поиске элементов, нельзя обойти стороной XPath и CSS. При обсуждении способов запуска тестов попутно поговорим про Docker. Разговор о шаблоне проектирования PageObject и его альтернативах тесно связан с вопросом о том, как вообще строить архитектуру тестов.

Но про Selenium мы расскажем всё и с подробностями, а всё остальное -- по касательной, со ссылками для дальнейшего самостоятельного изучения.

2. Полнота материала
Ни на каком другом тренинге и ни в одной книге Вы не найдёте более полной информации о Selenium 3.0.

Если найдёте -- мы Вам дадим скидку 50% на этот учебный курс :)

3. Мультиязычность
Основные принципы и приёмы использования Selenium, рассматриваемые в тренинге, будут сопровождаться примерами на пяти языках, которые “официально” поддерживаются разработчиками Selenium: Java, C#, Python, Ruby, JavaScript.

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

Вместе с тем, особенности каждого языка, его стиль, накладывают отпечаток на реализацию Selenium для этого языка. Поэтому в тренинге будут специальные модули, посвящённые именно таким особенностям.

Даже если какой-то язык для вас “неродной” -- мы всё равно рекомендуем смотреть “чужие” модули. Может быть после этого вы решите сменить язык :)

4. Selenide, Protractor, PageObjects и другие модные темы
Отдельное занятие будет посвящено разнообразным надстройкам над Selenium.

Их много, они решают разные задачи, некоторые из них более популярны, другие не так известны, но ничуть не хуже.

Каждая надстройка добавляет что-то к функциональности Selenium, поэтому их удобно рассматривать не как самостоятельные инструменты, а именно в сравнении с Selenium -- чем именно каждая из них отличается от общего “базиса”.

Подробную программу тренинга смотрите чуть ниже.

Но сначала мы должны предупредить, что есть три условия, без которых вы вряд ли сможете успешно пройти этот учебный курс.

Это тренинг для тех, кто умеет программировать. Если не умеете -- тогда посмотрите наши тренинги “Программирование для тестировщиков”, есть версии для Java, C# и Python. Впрочем, можно пройти любой другой тренинг или научиться программировать самостоятельно. Если не хотите учиться программировать -- обратите внимание на курс “Selenium: стартовый уровень”, в нём рассматривается инструмент Selenium IDE, который не требует умения писать код.

Насколько хорошо надо уметь программировать, чтобы без проблем пройти этот курс? Посмотрите программу упомянутых выше тренингов по программированию. Если Вы считаете, что знаете и умеете всё то, о чём идёт речь в первых четырёх занятиях -- этого вполне достаточно.

Необходимо понимать, как работает браузер. Слова HTML, CSS, JavaScript, DOM, HTTP не должны звучать как незнакомая и непонятная абракадабра.

Нужно будет выполнять домашние задания. Для успешного применения инструмента недостаточно получить информацию о нём, нужно выработать навыки. Это происходит только путём тренировки, самостоятельного решения сначала простых, а потом более сложных задач. Выполнение домашних заданий потребует в среднем около 4 часов в неделю. Смотреть лекции недостаточно. Придётся работать руками и головой. Будьте готовы к этому.

Подробная программа тренинга
Общая информация



  • Что такое Selenium
    Краткая история развития
    Принцип работы Selenium WebDriver
    Стандарт W3C WebDriver
    Сравнение с конкурентами
    Источники информации
Первые шаги: пробежимся по верхам


  • Необходимая инфраструктура
    Подготовка инфраструктуры для Java, C#, Python, Ruby, JavaScript
    Запуск и останов браузера
    Открытие страниц и ожидание загрузки страницы
    Поиск элементов на странице
    Действия: click и sendKeys
    Свойства элементов: getText и getAttribute
Запуск браузеров


  • Исполняемые файлы-посредники
    Выбор "правильной" версии браузера
    Особенности запуска на разных операционных системах
    Capabilities
    Cookies, чистый и грязный запуск
    Подробнее про каждый браузер (Chrome, Firefox, Internet Explorer, Edge, Safari, другие)
    Работа с несколькими браузерами одновременно
    WebDriverFactory
Поиск элементов


  • Типы локаторов
    Какие локаторы лучше всех?
    Отладка локаторов
    Надёжные и ненадёжные локаторы
    Списки элементов
    Поиск внутри элемента
    Неявные ожидания
    Стратегии ожидания загрузки страницы
    Поиск при помощи executeScript
Получение свойств элементов


  • Атрибуты и свойства
    Текст
    Видимость
    Размер и положение
    Стили
Действия с элементами


  • Простые

    • click
      sendKeys
      clear
      submit
    Сложные

    • Наведение мыши
      Перетаскивание
      Правая кнопка мыши
      Управление по координатам
      Модификаторы (ctrl, shift)
Ожидания (WebDriverWait)


  • Ожидание появления
    Ожидание видимости
    Ожидание исчезновения
    Ожидание свойств элемента
    Ожидание нужного количества элементов
    Произвольные условия ожидания
    StaleElementReferenceException и борьба с ним
    Неудачные попытки как альтернатива ожиданиям
Окна и диалоги


  • Alerts
    Uploading files
    Downloading files
    Окна и вкладки
    Фреймы
Удалённый запуск


  • Selenium Server
    Selenium Grid
    Selenium Grid Extras
    Облачные сервисы
Протоколирование


  • EventFiringWebDriver
    Доступ к логам браузера
    Снятие скриншотов
    Запись видео
    Запись трафика
PageObjects и другие шаблоны проектирования


  • Откуда “ноги растут” у этого шаблона проектирования?
    Разделение зон ответственности в тестах
    Различные реализации PageObjects
    Альтернативные шаблоны проектирования (PageBocks, Services)
Расширения и обёртки


  • Драйверы (Appium, Winium, Windows Application Driver)
    Альтернативные API (Watir, Selenide, FluentSelenium)
    BDD и другие альтернативные стили (RobotFramework, Serenity, Capybara, Geb, ScalaTest)
Формат курса
Онлайн-тренинг 12 занятий по 45-60 минут с практическими домашними заданиями.

Обучение происходит следующим образом:

В специальном закрытом разделе выкладываются записи уроков, ссылки на дополнительные материалы, домашняя работа.

Теоретическую информацию можно посмотреть в любое удобное время.

Помимо теоретической части, вас также ждут практические домашние задания, которые тщательно проверяются тренером. После проверки практических заданий Вы получаете оценку и подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать домашнюю работу и улучшить свою оценку.

Общение участников курса и тренеров проходит в скайп-чате учебной группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками учебной группы. Каждый день тренер будет доступен в скайп-чате и каждый день будет отвечать на вопросы, Вы можете задавать вопросы по теоретическому материалу или домашней работе, как только они у вас возникают.

***Скрытый текст***
ССылка битая, перезалейте пожалуйста
 

Обратите внимание

Назад
Сверху