JavaScript Functional Web Automation (WebdriverIO)

Для кого?

  • Кто хочет улучшить свою компетенцию, и получить знания для самостоятельного написания автотестов
  • Кто хочет осваивать новейшие инструменты автоматизации, и желает идти в ногу со временем
  • Кто желает увидеть возможности JavaScript и TypeScript в автоматизации тестирования
  • Кто уже пробует автоматизировать, и хочет попробовать разные подходы
  • Кто любит Selenium WebDriver, и желает приобщится к сообществу автоматизаторов
  • Кто замечал что чистый WebDriver работает плохо с современными веб-приложениями, и хочет узнать, что с этим делать

Нужны знания в следующих направлениях:

  • Базовые знания JavaScript, или скриптовых языков программирования
  • Клиент-серверная архитектура
  • Понимание структуры вебстраниц
  • Базовые знания HTML, CSS
  • Опыт работы с Selenium WebDriver на любом языке будет плюсом

Чему мы хотим вас научить?

  • Как автоматизировать тесты с использованием WebdriverIO (аналог WebDriverJS)
  • Особенностям этого фреймворка
  • Основным паттернам проектирования автотестов
  • Как работать с асинхронным JS кодом
  • Поиску элементов по различным локаторам
  • Взаимодействию с элементами на странице
  • Как использовать тест раннеры (на примере MochaJS и CucumberJS)
  • Настройке и конфигурированию тестов под различные окружения
  • Дебагу тестов
  • Репортинг, логгирование и запуск тестов. Использование NPM для управления тестовым проектом

Необходимый для начала софт

  • Для хранения кода и проверок домашних заданий мы будем использовать GitHub, потому нам нужны:
  • GIT. Установить - https://git-scm.com/
  • GitHub for desktop. Установить - https://desktop.github.com/
  • Завести бесплатный аккаунт на GitHub (если еще не заведен) - https://github.com/join
  • Для выполнения тестов нам нужен:
  • Chrome - https://www.google.com/chrome/browser/desktop/index.html
  • Для написания кода нам нужна среда разработки:
  • Visual Studio Code – бесплатный редактор - https://code.visualstudio.com/
  • Среда выполнения JavaScript кода – NodeJS (10.X) - https://nodejs.org

author

Александр Хотемской

Александр начинал как фрилансер. Продолжил свою карьеру переходом в Luxoft. Здесь получил множество возможностей для развития, которыми с удовольствием воспользовался - работа с разными технологиями, в разных командах, командировки в другие страны. Здесь же собеседовал множество людей на позиции в тестировании, и менторил молодых интернов-тестировщиков. Попав компанию Wargaming.net с головой окунулся в совершенно другой стек - game development и python. Здесь закалялась сталь - результатом стал изящный фреймворк для автотестирования прямо в игре. Работал QA Automation Lead в компании Lohika, JavaScript Automation Consultant в Ciklum. Занимался созданием и развитием фреймворков для автотестирования, их поддержкой и развитием. А сейчас независимый консультант и тренер StartIT.


Особенности языка JavaScript для автоматизации. Обзор используемых технологий

Список уроків
Особенности языка JavaScript для автоматизации. Обзор используемых технологий
2:18:56
Принципы поиска элементов на странице. CSS, xPath
2:07:44
Доступные действия на странице. Управление браузером, работа с элементами страницы
2:22:36
Test Runners - MochaJS+Chai, CucumberJS+Chai. Организация тестов и конфигурация запусков
2:03:57
Ожидания. Явные и неявные. Определение собственных условий ожидания
2:18:05
Принципы ООП для организации структуры тестов. Паттерны Page Object, PageFragment, Data Provider
1:58:52
Синхронизация асинхронного кода. Callbacks, Promises, Fibers (Coroutines). browser.call()
2:25:16
Низкоуровневые манипуляции. Исполнение JS кода в контексте. Multiremote. Custom Commands.
1:56:16
WebdriverIO возможности конфигурации. Настройка отладчика, break points. Интерактивный режим (REPL).
2:14:15
Отчетность. Настройка отчетов - вывод в терминал, jUnit XML, HTML Allure Reports. Другие фреймворки
2:18:40