Что команда Selenium думает о статьях-кликбейтах «Selenium vs другие фреймворки»

Самый простой способ создать кликбейтный пост про QA — сравнить Selenium с другим инструментом, дав ему броский заголовок (особенно если Selenium оказывается хуже по итогам сравнения).

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

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

Хотелось бы развеять некоторые ошибки, которые регулярно тиражируются в этих вирусных постах.

1. «Настроить браузеры и драйверы слишком сложно» (по сравнению с Playwright и Cypress)

Раньше это действительно было так, поскольку приходилось загружать драйверы. Для GeckoDriver и SafariDriver это не было проблемой – они могли корректно работать с обновлениями браузеров. С другой стороны, для браузеров на основе Chromium необходимо обновлять драйверы с каждым новым выпуском.

Уже больше года Selenium делает это автоматически. Если он не нашёл ChromeDriver или EdgeDriver, он загрузит их с помощью Selenium Manager. С момента своего первого релиза он значительно улучшился, и теперь, вероятно, является лучшим в своём классе, так как последние версии Selenium даже загружают браузеры, если это возможно, и работают с ними. Если сравнивать с Playwright и Cypress, то вам не нужно обновлять зависимости Selenium для обновления браузеров и драйверов; вы по-прежнему используете те же браузеры, что и ваши клиенты, а переключение версий становится проще: вам не нужно менять используемый тестовый фреймворк. И не будем забывать, что он использует браузер, который Google рекомендует использовать для тестирования.

2. «Настройка тест-раннера — это тяжёло, а в Playwright и Cypress он встроен»

Ну… Настройка фреймворков сквозного тестирования с Selenium не так сложна, как некоторые предполагают. Самая сложная задача — убедиться, что драйвер настроен правильно, и мы уже решили эту проблему, как описано выше. Как только это сделано, Selenium позволяет вам использовать тот тест-раннер, с которым вам удобнее. Если вам нужно решение «All Inclusive», с более плотной интеграцией Selenium с тест-раннером, то посмотрите на проекты типа SeleniumBase, Nightwatch, Serenity и так далее, среди них может быть подходящий для вас.

Стоит отметить, что Playwright — второй реально многоязычный фреймворк для автоматизации браузеров (а первый – Selenium). Однако, если вам не нужен TypeScript или JavaScript, вам всё равно придётся самостоятельно настраивать тест-раннер. Некоторые фреймворки имеют плагины, которые автоматически настраивают нужные фикстуры. 

Что касается JavaScript/TypeScript, то если вам действительно нужен встроенный тест-раннер, существуют проекты типа NightwatchJS, и ответвления, такие как WebdriverIO. Проекты типа NightwatchJS используют наши библиотеки, а проекты-ответвления имеют свои собственные библиотеки (но следуют стандарту WebDriver).

3. «Playwright и Cypress могут перехватывать сетевой трафик и позволяют писать событийно-ориентированный код – а Selenium нет»

Selenium это умеет с момента выхода 4 версии. Он настолько хорош в этом, что даже команда Playwright рекомендует использовать Selenium для масштабирования ваших тестов (ссылка!). Команда Selenium не будет удалять эту функцию в ближайшее время, поскольку мы зависим от реализации спецификации WebDriver BiDi для замены этих функций. 

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

Итог

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

Selenium blog

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас