Что должен знать каждый QA-инженер о Selenium 4?

Привет, друзья. Май богат новыми курсами, и прямо сейчас, в преддверии запуска курса «Java QA Engineer», мы продолжаем публиковать полезный материал для QA-специалистов.

Вернемся в август 2018 года, когда сообщество тестировщиков потрясла новость о том, что Саймон Стюарт, один из основателей Selenium, официально утвердил дату релиза и афишировал некоторые основные обновления Selenium 4 на Selenium Conference в Бангалоре. Четвертая версия всеми любимого фреймворка для автоматизации веб-тестирования должна была быть выпущена к рождеству 2018 года.

Дата релиза Selenium 4

Те, кто уже знаком с историей релиза Selenium 3, который тоже должен был случиться к рождеству, предполагали, что новая версия будет закончена к рождеству, но скорее всего не 2018 года. Ровно также, как это произошло с предыдущей версией, которая была выпущена на три года позже официально объявленной даты.

И они были правы! На сегодняшний день (даже с обновленной информацией о выпуске Selenium 4 в феврале 2019 года), официального релиза все еще не было.

Также не поступало какой-то официальной информации о новых датах выпуска со стороны основателей проекта. Однако как мы видим на официальной странице проекта SeleniumHQ на Github, разработчики закрыли только половину задач, которые было необходимо сделать, поэтому справедливо можно предположить, что официального релиза не случится до рождества 2019 года.

В чем важность Selenium 4?

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

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

Основные изменения в Selenium 4

Теперь давайте перейдем к списку вещей, которые SeleniumHQ обещали добавить или изменить в следующей версии.

Стандартизация WebDriver W3C

Во-первых, Selenium 4 WebDriver будет полностью стандартизирован W3C. API WebDriver стало актуальным и за пределами Selenium и теперь используется в различных инструментах для автоматизации. Например, на нем основываются такие мобильные инструменты для тестирования, как Appium и iOS Driver. Стандарт W3C также отвечает за совместимость между различными программными приложениями с WebDriver API.

Вот как Selenium Grid взаимодействует с исполняемыми файлами драйверов на данный момент:

Тест в Selenium 3.x взаимодействует с браузером в конечном узле (end node) по протоколу JSON wire в локальной конечной точке (local end). Такой подход требует кодирования и декодирования запросов API.

Судя по обновлениям, которые мы ожидаем увидеть в Selenium 4, тест будет взаимодействовать напрямую без кодирования и декодирования запросов API через протокол W3C. Несмотря на это, в привязке к Java все еще будет обратная совместимость, но в центре внимания будет протокол консорциума W3C. А вот протокол JSON wire использоваться больше не будет.
Над спецификациями W3C WebDriver работают несколько разработчиков, и весь процесс вы можете увидеть на GitHub.

Selenium 4 IDE TNG

Selenium IDE поддерживает Chrome «из коробки». Как известно, Selenium IDE – это инструмент записи и воспроизведения. Теперь он будет доступен со следующим, более богатым и продвинутым функционалом:

  • Новая система плагинов. Теперь любой поставщик браузера сможет легко «подключиться» к новой среде Selenium IDE. Вы сможете использовать свою собственную стратегию идентификации элементов (locator strategy) и плагин Selenium IDE.
  • Новый CLI runner. Он будет полностью основан на NodeJS, а не на HTML, как было раньше, также он будет иметь следующий возможности:
    • WebDriver Playback. Новый Selenium IDE runner будет полностью основан на WebDriver.
    • Параллельное выполнение. Новый CLI runner будет поддерживать параллельное выполнение тестов и предоставит полезную информацию, такую как затраченное время, а также набор пройденных и неудачных тестов.

Улучшенный Selenium Grid

Каждый, кто когда-либо работал с Selenium Grid знает как сложно его настраивать. Selenium Grid поддерживает выполнение тестов в разных браузерах, операционных системах и машинах, обеспечивающих параллельное выполнение.
В Selenium Grid есть два основных элемента: Hub и Node.
Хаб (hub) работает как сервер, центральный пункт управления всеми тестируемыми машинами в сети. В Selenium Grid всего один хаб, который выделяет определенный узел на выполнение теста в соответствии с его потенциалом.
Узел (node), простыми словами, — тестируемая машина, на которой запущены тесты.

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

В Selenium 4 работа с Grid обещает быть простой, так как больше не будет необходимости настраивать и запускать хабы и узлы отдельно. После запуска сервера Selenium, Grid будет работать одновременно как узел и как хаб.

Selenium 4 будет поставляться с более стабильной версией Selenium Grid. Будут устранены ошибки потокобезопасности и улучшена поддержка Docker.

Улучшенный пользовательский интерфейс Selenium Grid

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

Улучшенная наблюдаемость (observability)

“Пассивная наблюдаемость – это способность делать описательную трассировку»
— Саймон Стюарт

Наблюдаемость, логи и отладка больше не ограничиваются DevOps. В рамках грядущего релиза, трассировка запросов и запись логов с хуками (hooks) будут улучшены, чтобы обеспечить для инженеров по автоматизации возможность отладки.

Обновленная документация

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

Таким образом, естественно, обновленная и современная документация, которую SeleniumHQ обещает предоставить нам вместе с версией 4.0, стала одним из самых ожидаемых обновлений Selenium в сообществе автоматизации тестирования.

Тем не менее, вы все еще можете получить доступ ко всей существующей документации Selenium.

Selenium 4 в двух словах

Здесь перечислены все основные изменения, которые мы, вероятно, увидим, когда наконец состоится релиз Selenium 4. Если вам интересно узнать больше об истории фреймворка, ее основателях и новых функциях Selenium, мы предлагаем посмотреть это видео с конференции Selenium 2018 года, где был анонсирован релиз.

Пишите комментарии и записывайтесь на день открытых дверей, который пройдет уже 22 мая. До встречи в ОТУС!

FavoriteLoadingДобавить в избранное
Posted in Без рубрики

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *