Программы и сервисы для тестирования сайтов – Selenium

06.12.2012

Автор: Роман Сиклицкий

Selenium - это инструмент, который используется для автоматизации процесса управления браузерами. Наиболее популярен Selenium в автоматизированном тестировании при разработке веб-приложений. Однако, используя Selenium, можно (а лучше - нужно) автоматизировать любые иные рутинные действия, которые выполняются через браузер.

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

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

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

Набор инструментов Selenium

Selenium 2 (Selenium Webdriver)

Selenium 2 - последняя новинка в серии инструментов Selenium. Сейчас это основное направление развития проекта. Selenium 2 совершенно новый инструмент автоматизации, он обеспечивает хорошие возможности для управления браузером, обладает более целостным и объектно-ориентированным программным интерфейсом (API), не имеет ограничений, которые свойственны более ранним версиям.

Разработчики выделили достоинства двух продуктов: WebDriver и Selenium, и соединили их в один гораздо более мощный инструмент автоматизации – т.е. Selenium 2. Для использования он предоставляет WebDriver API. Можно использовать в качестве ядра как более новую собственную реализацию WebDriver, так и реализацию, которая была в основе Selenium1. Selenium 2 включает в себя и интерфейс Selenium RC, обеспечивающий обратную совместимость. Это позволяет без особых усилий применять существующие тесты в новых версиях.

Selenium 1 (Selenium Remote Control)

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

Selenium 1 до сих пор используется (в основном в режиме сопровождения), так как он дает некоторые возможности, недоступные пока в Selenium 2. Из этих возможностей можно вынести: поддержка разных браузеров и поддержка некоторых языков программирования (к примеру, Perl).

Однако сейчас Selenium RC все же имеет статус "замороженного" и дальнейшего его развития не будет.

Selenium IDE

Selenium Integrated Development Environment - инструмент для разработки прототипов тестовых сценариев. Это расширение для браузера Firefox. Обладает простым, достаточно удобным интерфейсом для разработки автоматизированных тестов. Функция записи, встроенная в Selenium IDE, дает возможность записи действий, совершаемых пользователем, а затем сохранения их в виде кода на любом языке программирования, поддерживаемого Selenium.

Selenium Grid

Selenium Grid дает возможность масштабирования больших тестовых наборов, запуска тестов, которые требуется выполнить в нескольких окружениях. Используя Selenium Grid, запускать тесты можно параллельно, т.е. разные тесты могут быть одновременно запущены на нескольких удаленных машинах. Это дает два преимущества. Первое, если имеется большое количество тестов или время выполнения этих тестов слишком велико - можно значительно повысить производительность при помощи Selenium Grid, путем разделения тестов на несколько потоков и запуска их на нескольких серверах одновременно. Второе, если тесты требуется запускать в разных окружениях (к примеру, на операционных системах или в разных браузерах), то можно соответствующим образом настроить удаленные сервера и запустить один и тот же тест сразу в нескольких различных окружениях. И в первом, и во втором случае использование в Selenium Grid параллельных процессов позволяет значительно снизить время проведения тестирования.

Какую часть Selenium выбрать?

Selenium IDE - если требуется:

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

Selenium WebDrive - если нужна разработка:

  • надежного фреймворка автоматизации со способностью работы со всеми браузерами,
  • большого тестового набора, включающего тесты с непростой логикой поведения и проверок.
  • Selenium Server - если требуется:

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

    Selenium Server поддерживает прием команд с удалённой машины (на которой запущен сценарий автоматизации) и исполняет их в браузере. В совокупности ряд серверов Selenium может быть образован в распределённую сеть - Selenium Grid. Это дает возможность легкого масштабирования стенда автоматизации.

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

    Однако не рекомендуется строить весь процесс автоматизации тестирования лишь на базе Selenium IDE. Для более эффективного применения Selenium следует создавать и запускать тесты используя Selenium 1 (Remote Control) или Selenium 2 (Webdriver) в сочетании с каким-либо (из поддерживаемых) языком программирования. Какой язык выбрать - это уже решение самого пользователя.


 
Позвоните нам +375 (29) 334 21 22
или Отправьте запрос