Программная инженерия | Селен: инструмент автоматизации

Опубликовано: 28 Января, 2022

Selenium - это инструмент автоматизации и портативный инструмент тестирования программного обеспечения для веб-приложений. Также предоставляется тестовый предметно-ориентированный язык, для написания тестовых примеров можно использовать языки программирования, включая C #, Java, Perl, PHP, Python, Ruby, Scala, Groovy. Он не поддерживает технологию RIA (Rich Internet Application), такую как Silverlight JavaFX и Flex Flash. Селен - это не единичный инструмент. Это программный комплекс, состоящий из следующих компонентов:

История: Selenium был разработан Джейсоном Хаггинсом в 2004 году в компании ThoughtWorks. Он работал над внутренним / веб-приложением в ThoughtWorks. Через некоторое время он заметил, что вместо того, чтобы тестировать свое приложение вручную, он может автоматизировать его. Он разработал программу на JavaScript для тестирования своего веб-приложения, позволяющую автоматически перезапускать тесты. Он назвал свою программу «JavaScriptTestRunner». Через некоторое время этот инструмент был открыт и переименован в Selenium Core.
Selenium Remote Control был разработан Полом Хаммантом. Причина разработки Selenium RC заключалась в том, что тестировщикам, использующим ядро Selenium, приходилось устанавливать все тестируемое приложение и веб-сервер на свои локальные компьютеры, потому что были некоторые ограничения, навязанные той же политикой происхождения. Чтобы преодолеть это ограничение, Пол Хаммант принял решение и разработал сервер, который будет действовать как HTTP-прокси, чтобы обмануть веб-браузер, поэтому он считает, что Selenium Core и тестируемое веб-приложение происходят из одного домена.
Selenium IDE была разработана Шинья Касатани из Японии. Он был реализован как надстройка / надстройка Firefox, и теперь мы можем использовать Selenium IDE в каждом веб-браузере. Он передал Selenium IDE проекту Selenium в 2006 году.
Selenium Grid был разработан Филиппом Ханригу в 2008 году. Это сервер, который позволяет тесту использовать экземпляр веб-браузера, запущенный на удаленных машинах. Он предоставляет возможность запускать тест в удаленном веб-браузере, что помогает разделить нагрузку тестирования между несколькими машинами и сэкономит массу времени. Это позволяет проводить параллельное тестирование на разных платформах и в разных операционных системах. Grid предоставил в качестве открытого исходного кода возможности, аналогичные частному облаку Google для Selenium RC. Пэт Лайтбоди уже создал частную облачную систему под названием «HostedQA» и продал ее Gomez, Inc.
Selenium WebDriver был разработан Саймоном Стюартом в 2006 году. WebDriver автоматизирует и контролирует, инициируемые веб-браузером. Он не полагается на JavaScript для автоматизации. Он напрямую управляет браузером, связываясь с ним. Это была первая кросс-платформенная среда тестирования, которая могла управлять браузером на уровне ОС.
В 2009 году после встречи вся команда Selenium решила объединить два проекта Selenium RC и WebDriver и назвать это Selenium 2.0.

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

Плюсы:

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

Минусы:

  • Нет поддержки итераций и условных операций.
  • Исполнение медленное.
  • У него нет API.
  • Он не предоставляет никакого механизма для обработки ошибок.

Selenium RC: RC означает дистанционное управление. Это позволяет программистам кодировать на разных языках программирования, таких как C #, Java, Perl, PHP, Python, Ruby, Scala, Groovy. На рисунке показано, как работает Сервер удаленного управления.

Плюсы:

  • Он поддерживает все веб-браузеры.
  • Он может выполнять итерационные и условные операции.
  • Выполнение быстрее по сравнению с IDE.
  • Имеет встроенные генераторы результатов тестирования.
  • Он поддерживает тестирование на основе данных.
  • Он имеет зрелый и полный API.

Минусы:

  • Знание языка программирования необходимо.
  • Он не поддерживает тестирование для IOS / Android.
  • По производительности он немного медленнее, чем Selenium Webdriver.
  • Он не поддерживает функции записи и воспроизведения.
  • Сложная конфигурация.

Selenium Web Driver: Selenium Web Driver автоматизирует и контролирует, инициируя веб-браузер. Он не полагается на JavaScript для автоматизации. Он напрямую управляет браузером, связываясь с ним. На рисунке показано, как веб-драйвер работает как интерфейс между драйверами и привязками.

Плюсы:

  • Он напрямую связывается с веб-браузером.
  • Исполнение быстрее.
  • Он поддерживает слушателей.
  • Он поддерживает тестирование приложений IOS / Android.
  • Установка проще, чем Selenium RC.
  • Чисто объектно-ориентированный.

Минусы:

  • Требуются знания программирования.
  • Нет встроенного механизма генерации файла с результатами тестирования.

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

Selenium Grid - это сеть концентраторов и узлов. Каждый узел регистрируется в HUB с определенной конфигурацией, и HUB знает о браузерах, доступных на узле. Когда в HUB поступает запрос для определенного браузера [с желаемым объектом возможностей], HUB, если он обнаруживает совпадение для запрошенного веб-браузера, перенаправляет вызов на этот конкретный узел Grid, после чего сеанс устанавливается в двух направлениях и выполняется начинается.

Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.