Руководство по тестированию Selenium для начинающих

Впервые выпущенный в 2004 году, Selenium появился на свет из-за необходимости сократить время, затрачиваемое вручную на тестирование повторяющейся функциональности веб-приложения, например, тестирование страницы входа в систему, на которую не влияют новые изменения. С тех пор Selenium testing превратился в автоматизированный инструмент для тестирования программного обеспечения мирового класса.

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

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

Предварительные требования
Selenium был разработан на Java для создания платформы автоматизации тестирования веб-приложений и требует определенных знаний в области программирования и ручного тестирования.

Использовать Selenium не слишком сложно, но знание того, как выполнять определенные действия, будет иметь важное значение, например, умение находить HTML-элементы в браузере по идентификатору, классу, имени, CSS-селектору и т.д.

Selenium и автоматизированное тестирование
Проще говоря, Selenium automation testing позволяет имитировать повторяющиеся тесты, выполняемые в веб-приложении. Будь то ввод текста и нажатие кнопок или выбор того же параметра из выпадающего меню, Selenium записывает движения мыши для воспроизведения во время выполнения теста.

Вот почему тестирование пользовательского интерфейса Selenium в разных веб-браузерах так выгодно. Требуется значительное количество ручных усилий для повторного тестирования той же функции в Edge, IE, Firefox и Chrome.

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

Типы тестирования с помощью Selenium
Тестирование Selenium может быть реализовано как альтернативный или комбинированный подход в нескольких стратегиях тестирования:

Функциональное тестирование
1. Модульное тестирование Selenium позволяет повторно протестировать отдельные части приложения, например страницу с одним или двумя входными данными, функцию или процедуру.

2. Регрессионное тестирование повторно проверяет существующую (полную или частичную) функциональность после внесения изменений, исправлений и улучшений.

Нефункциональное тестирование
1. Тестирование производительности Selenium определяет производительность окружающей среды и приложений.

2. Стресс-тестирование устанавливает критические точки и максимальную нагрузку для веб-приложения.

Понимание основ Selenium
Основными компонентами Selenium 1 являются Selenium Remote Control (RC) и Selenium Grid, которые дают возможность кодировать и выполнять сложные тесты в нескольких браузерах и системах.

В 2011 году был выпущен Selenium 2, в котором были объединены элементы Selenium RC и представлен новый WebDriver API. По сути, Selenium suite состоит из 4 компонентов:

Selenium IDE
IDE является надстройкой для браузера для создания простых тестовых примеров в Firefox или Chrome и идеально подходит для новых пользователей с небольшим опытом программирования или вообще без него. Плагин записывает действия пользователя, которые выполняются позже, в виде тестовых примеров.

WebDriver
API WebDriver, выпущенный как часть Selenium 2, позволяет тестовым скриптам напрямую взаимодействовать с браузером и элементами страницы. Он не ограничен определенными браузерами и интегрируется с Chrome, Opera, Android и iOS.

Продвинутые и настраиваемые тестовые примеры могут быть созданы с помощью поддерживаемых языков программирования, таких как Java, C #, PHP, Python, Perl и Ruby.

Selenium Remote Control and Grid
Selenium RC и Selenium Grid теперь официально не поддерживаются, но их возможности были объединены с WebDriver. API WebDriver менее сложен и быстрее, чем RC, обеспечивая при этом лучшее взаимодействие со страницей.

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

Создание тестовых примеров
Откройте IDE, установленную в вашем браузере, и выберите способ создания теста:

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

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

Выполнение тестовых примеров
После создания вашего первого простого теста теперь вы можете выполнить его в веб-приложении (в Chrome или Firefox). Вы можете управлять своим тестом с помощью удобных функций, таких как нажатие кнопки «Выполнить» для выполнения теста или «Запустить все» для выполнения тестов в наборе тестов.

Установка точек останова — еще одна полезная функция, которая останавливает тестирование при достижении определенного шага или команды во время выполнения теста.

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

Ряд онлайн-руководств, видеороликов и мануалов находятся в свободном доступе для скачивания, и настоятельно рекомендуется использовать Selenium Wiki на GitHub в качестве полезных ресурсов.

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