Selenium — лютый набор инструментов для разработчиков

187
Selenium — лютый набор инструментов для разработчиков
Фото: habr.com
Михаил Байдуж
Райтер, переводчик

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

До появления Selenium все это делалось буквально вручную: десятки людей тестировали сотни сценариев во всех существующих браузерах, выявляя неполадки и, пытаясь определить причины их возникновения.

Что такое Selenium

Selenium — это набор инструментов автоматизации и тестирования программного обеспечения с открытым исходным кодом, который стал де-факто лидером.

Работая с большинством языков программирования, поддерживаемых всеми основными операционными системами и браузерами, Selenium в настоящее время используется в таких компаниях, как Netflix, Google, HubSpot, Fitbit и других. Весь пакет (Suit) предоставляет ряд решений для различных задач и потребностей тестирования.

Инфраструктура Selenium Suit

WebDriver

В большинстве случаев, когда говорят о Selenium, имеют в виду Selenium WebDriver. Основная часть разработки продукта сосредоточена именно на этом элементе.
Автоматизация тестирования в WebDriver часто сравнивается с вождением такси (англ. Driver – водитель). В вождении такси и тестировании участвуют три составляющие: заказчик (инженер-испытатель) — автомобиль (браузер) — водитель такси (WebDriver).

Что такое VPN

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

Selenium IDE

Это расширение для Firefox. Оно не предназначено для разработки, его легко освоить, и оно идеально подходит для задач создания прототипов.

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

Selenium Grid

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

Что такое Даркнет

Учитывая, что скрипты в браузере обычно работают медленно, использование методов повышения производительности, таких как параллельное тестирование, может помочь в решении этой проблемы. Также его можно использовать для параллельного тестирования одного приложения в разных браузерах, когда на одном компьютере работает Firefox, на другом — Chrome и так далее. Есть возможность создавать различные конфигурации, комбинируя разные версии браузеров и операционных систем. Излишне говорить, что при использовании в больших производственных средах Grid экономит время вчетверо.

Плюсы Selenium

Selenium — не единственный инструмент автоматизации тестирования на рынке, но это единственный бесплатный инструмент, который может конкурировать с платными продуктами. Katalon Studio — жизнеспособная альтернатива, но она не предоставляет такого большого выбора языков, не работает в Linux и просто не имеет фанатов.

Неудивительно, что даже более крупные фирмы не спешат переходить на платные площадки и отдавать тысячи долларов за то, что Selenium делает бесплатно. Число компаний, работающих с Selenium, превышает 55 тысяч. Его доля на рынке тестирования и автоматизации составляет почти 30 %.

Поддержка зыков, платформ, браузеров:

  • Java
  • C#
  • PHP
  • Ruby
  • Perl
  • Python
  • JavaScript
  • Objective-C
  • Haskell
  • R
  • Windows
  • Linux
  • Mac
  • Android
  • iOS
  • Google Chrome
  • Internet Explorer
  • Firefox
  • Safari
  • Opera
  • Microsoft Edge
  • HtmlUnitDriver

Минусы Selenium

Пожалуй, единственным существенным минусом является то, что Selenium можно использовать только в веб-приложениях. Но это — скорее ограничение, а не недостаток, так как для тестирования десктопных приложений в Selenium можно интегрировать WinAppDriver.

Немного истории в заключение

В 2004 году Джейсон Хаггинс создал фреймворк JavaScript, призванный освободить его создателя от повторяющегося ручного тестирования. Продукт, который впервые предсказуемо получил название JavaScriptTestRunner, мог выполнять тесты непосредственно в браузере, управлять взаимодействиями на странице и повторно запускать их без ручного ввода. Этот инструмент JavaScript стал популярным после того, как Хаггинс, осознав весь потенциал, сделал его открытым и переименовал в Selenium Remote Control. Инновационная часть заключалась в том, что до этого ни один другой инструмент не позволял тестировщикам общаться с браузером на выбранном ими языке программирования.

Как стать программистом

Однако вскоре стало очевидно, что браузеры применяют ограничения безопасности к JavaScript и это делает невозможным использование всех мощностей инструмента. В то время Google был заядлым пользователем Selenium и его инженеры всячески пытались обойти ограничения. Один из них, Саймон Стюарт, начал работать над продуктом, который бы напрямую взаимодействовал с браузерами, и назвал его WebDriver.

Так, более десяти лет назад Selenium объединил усилия с WebDriver, и навсегда изменил способ тестирования программного обеспечения.

0
0
0
0
0
0
Оценить
Обсудить Содержание