Чему вы научитесь Первые шаги работы с Selenium WebDriver Запуск браузеров Поиск элементов Получение свойств Элементов Действия с элементами Ожидания (WebDriverWait) Окна, фреймы и диалоги Удалённый запуск Протоколирование действий Selenium PageObjects и другие шаблоны проектирования Расширения Selenium Требования Необходимы минимальные навыки программирования Спойлер: Описание 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) Для кого этот курс: Начинающие специалисты по автотестированию Специалисты с небольшим опытом в автотестировании Ручные тестировщики Если не умеете - тогда посмотрите наши тренинги “Программирование для тестировщиков”, есть версии для Java, C# и Python Авторы: Vladimir Kozlov Последнее обновление: 05.2023 русский