Selenium WebDriver — это инструмент, который позволяет производить кросс-браузерное тестирование, то есть проверять, как отображается сайт в разных браузерах.
Он входит в набор для автоматизированного тестирования Selenium. Всего в Selenium три компонента: Selenium WebDriver, Selenium IDE и Selenium Grid.
Тестировщики используют Selenium, чтобы автоматизировать действия браузеров, проверить работоспособность программы и получить данные с сайтов.
У программных средств Selenium разные подходы к автоматизации тестирования. WebDriver нужен для управления браузером, как локальным, так и удаленным. Это гибкий инструмент: он легко интегрируется с тестовыми фреймворками и другими инструментами. На его основе можно создать узконаправленные инструменты для кроссбраузерного тестирования.
Преимущества Selenium WebDriver
WebDriver — главный вектор развития Selenium. Вот его основные преимущества:
- Поддерживает разные языки программирования (Java, C#, PHP, Ruby, Perl, Python), а значит, его может использовать большое количество разработчиков.
- Облегчает кроссбраузерное тестирование и поддерживает различные браузеры: Firefox, Opera, Chrome, Edge.
- Есть фреймворки, облегчающие разработку.
- Позволяет проводить параллельное тестирование в нескольких браузерах одновременно.
- Имеет открытый исходный код, он бесплатный для любого разработчика.
- Большое сообщество пользователей — при возникновении трудностей в работе есть у кого попросить помощи.
Selenium WebDriver — это новая версия инструмента для управления браузерами, которая пришла на замену Selenium RC (Remote Control). Вот что в ней нового по сравнению с Selenium RC:
1. Новое API, которое сделало интерфейс WebDriver более компактным и объектно-ориентированным (то есть использует принципы объектно-ориентированного программирования).
2. Улучшена эмуляция пользовательских взаимодействий. WebDriver напрямую вызывает команды браузера и использует родной для каждого браузера API. Поэтому можно точнее моделировать сложные взаимодействия с сайтом.
3. У WebDriver есть поддержка разработчиков браузеров. Google, Mozilla и Opera активно участвуют в разработке WebDriver. Это значит, что поддержка WebDriver встроена в браузеры от этих компаний, поэтому тесты запускаются настолько быстро и стабильно, насколько это возможно.
Ограничения WebDriver
- Для работы с WebDriver нужны продвинутые навыки программирования.
- Это узконаправленный инструмент, с его помощью можно тестировать только веб-приложения.
- Функционал ограничен по сравнению с платными аналогами (такими как Ranorex Studio или UBot Studio).
Принципы работы с WebDriver
Для начала работы с Selenium WebDriver нужно определить три ключевых элемента: браузер, драйвер браузера и скрипт для драйвера браузера.
Браузер, работу которого пользователю необходимо автоматизировать
Для браузера нужно определить параметры:
- версия браузера;
- операционная система, на которой браузер установлен. WebDriver поддерживает три операционные системы: Microsoft Windows, macOS и Linux;
- настройки, которые должны быть выставлены в браузере — по умолчанию или кастомные.
Для более качественного тестирования нужно создавать как можно больше комбинаций этих параметров.
Список браузеров, которые поддерживает WebDriver:
- Microsoft Edge;
- Firefox;
- Internet Explorer;
- Safari;
- Opera;
- Chrome.
Драйвер браузера
Драйвер — это веб-сервис, который отправляет команды браузеру. У каждого браузера свои команды управления, которые реализованы по-разному, поэтому и драйверы нужны разные.
Скрипт с набором команд для драйвера браузера
В этом скрипте прописан алгоритм действий для браузера, с помощью него WebDriver эмулирует поведение пользователя.
Архитектура WebDriver
Selenium WebDriver использует собственные API и API браузера для работы с ними. Это значит, что для корректной работы WebDriver нужно участие команды разработчиков браузера. Такой подход позволяет делегировать разработку драйверов создателям браузеров, но, когда выходят новые версии браузера, бывают задержки в обновлении.
Архитектура WebDriver позволяет разрабатывать драйверы для браузера независимо от разработки драйверов для других браузеров и от разработки клиентского приложения.
1 комментарий