ИзбранноеПечать

Selenium WebDriver: полное руководство

 

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

Онлайн-тренинг

Описание

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

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

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

1. Selenium во главе угла

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

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

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

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

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

2. Полнота материала

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

3. Мультиязычность

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

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

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

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

4. Selenide, Protractor, PageObjects и другие модные темы

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

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

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

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

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

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

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

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

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

Подробная программа курса

1. Общая информация

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

2. Первые шаги: пробежимся по верхам

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

3. Запуск браузеров

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

4. Поиск элементов

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

5. Получение свойств элементов

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

6. Действия с элементами

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

7. Ожидания (WebDriverWait)

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

8. Окна и диалоги

  • Alerts
  • Uploading files
  • Downloading files
  • Окна и вкладки
  • Фреймы

9. Удалённый запуск

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

10. Протоколирование

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

11. PageObjects и другие шаблоны проектирования

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

12. Расширения и обёртки

  • Драйверы (Appium, Winium, Windows Application Driver)
  • Альтернативные API (Watir, Selenide, FluentSelenium)
  • BDD и другие альтернативные стили (RobotFramework, Serenity, Capybara, Geb, ScalaTest)

Формат

12 занятий (12 часов теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в чате.

Дважды в неделю по вторникам и пятницам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.

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

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

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

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

Материалы курса доступны в течение года с даты окончания.

Условия

Стоимость участия для физических лиц: 12 000 рублей за весь курс.

Стоимость участия для юридических лиц: 15 000 рублей за весь курс за одного участника*. При регистрации от 3-х участников на один курс действует 15% скидка.

Оплатить прямо сейчас

Организатор тренинга: ИП Баранцев Алексей Владимирович, ИНН 501208546235, ОГРНИП 309501211900065  

Информация для физических лиц:

Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.

Если Вы хотите оплатить тренинг прямо сейчас, то нажмите кнопку выше для перехода в наш магазин и оформите покупку (если кнопка активна, значит можно оплачивать не беспокоясь о наличии мест). После оплаты мы пришлем письмо о регистрации на курс и подтверждение оплаты. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru

Если Вы хотите совершить оплату позже, для гарантированного участия обязательно забронируйте место на тренинге, для этого необходимо нажать на кнопку ЗАПИСАТЬСЯ справа от тренинга и заполнить все необходимые поля.

Если у Вас есть какие-то вопросы, их можно задать по указанному выше адресу.

По ссылке Вы можете ознакомиться с информацией о способах оплаты: http://software-testing.ru/buy/sposoby-oplaty

Информация для юридических лиц:

Для регистрации на тренинг и оформления договора и выставления счета на оплату нажмите кнопку Записаться, выберите пункт Организация и заполните все поля. 

Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.

В случае возникновения вопросов обращайтесь по адресу trainings@software-testing.ru.

Отзывы

Шмыга Алексей

Очень понравился курс! Действительно очень полная информация и хорошая ее подача. Хоть я и имею не малый опыт в автоматизации все равно нашел для себя много интересного. Курс однозначно стоит своих денег. Так же отдельно хотелось бы отметить подачу материала - пройдя множество различных курсов и тренингов (не только по автоматизации) могу смело заявить что Алексей один из лучших преподавателей материала. Рассказывает очень понятно, хорошо систематизирует информацию и всегда дает хорошие ответы на вопросы. Из того что можно было бы улучшить это наверное домашние задания - было бы хорошо сделать каждое задание меньше в объеме и увеличить охват материала прошедшей лекции (например после лекции локаторов давать задание на все типы локаторов(именно что бы человек должен был использовать каждый тип) но что бы написать их нужно было скажем для одной страницы), это задание можно разбить на несколько (задание на xpath, отдельно на css, еще одно на id-name-class...) Не у всех хватает после работы времени на выполнение длинного задания и человек начинает отставать из-за нехватки времени. Если бы задания были меньше в объеме то можно было бы их выполнять каждый день и по немногу. Однако так же подчеркну что в текущем виде домашние задания все равно хороши - они соответствуют уровню подаваемого материала и заставляют думать что есть хорошо для усвоения материала :) Еще раз спасибо!

Голубков Александр

Курс оказался полезнее, чем я ожидал.

Как и многие, мои коллеги, оставившие отзывы выше, я не ждал от курса сюрпризов, принимая во внимание ранее изученный курс "Разработка тестов на JAVA с использованием Selenium 2.0" и постоянную практику использования этого инструмента.

Однако курс оказался довольно насыщенным и (местами) напряженным. Довольно много свежей информации, нюансов, секретов.

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

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

Занятия два раза в неделю отлично держат в тонусе, хотя бывает тяжело совмещать с работой.

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

В Скайп-чате много вопросов по реализации на языке программирования тех или иных подходов, продемонстрированных в лекции.

Курс позволяет с первых лекций начать применять Selenium в работе, что очень и очень важно!

Спасибо!

Oleksandra Huzenko, Exigen Services, QA

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

Второй момент. Гораздо лучше, что тренинг выкладывался по два занятия в неделю. По небольшим кускам гораздо легче (ИМХО) осваивать материал.

Посмотреть все отзывы

 

Цена: 12000 RUB для физлиц
Цена: 15000 RUB для юрлиц
Место: онлайн
Начало: 12 апреля 2024
Окончание: 24 мая 2024

Go to top