Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Плагинизация JavaScript фреймворка GlaceJS

glacejs
javascript
Теги: #<Tag:0x00007fedc100db68> #<Tag:0x00007fedc100d8e8>

(Sergei Chipiga) #1

Всем привет!

В этой статье хотел бы рассказать о значительных изменениях во фреймворке GlaceJS.

В первую очередь проведена значительная работа по преобразованию standalone-фреймворка в плагинизированную систему. А разработка выведена в отдельную группу на гитхабе - https://github.com/glacejs.

Из прежнего фреймворка выделено микро-ядро https://github.com/glacejs/glace-core. Остальные фичи разбиты по плагинам:

При этом каждый плагин может быть использован как сторонняя библиотека для других nodejs приложений, и даже выступать как самостоятельное приложение. Н-р glace-proxy с одной стороны используется как плагин для glace-core, а с другой - является самостоятельным консольным приложением для управления ответами от сервера к браузеру (н-р, в мануальном тестировании).

Само приложение glace-core и плагины реализуют STEPS-протокол, который расширяет STEPS-архитектуру и описывает, как себя должны вести компоненты, чтобы взаимодействовать как одна система. Поскольку протокол двунаправленный, не только плагины, но и glace-core и любое glace-based приложение может само выступать как плагин для другого glace-based приложения.

Все glace-компоненты взаимодействуют через общий объект, который доступен из проекта glace-utils, и при подключении плагин предоставляет steps, help, global objects & fixtures для glace-core.

Также добавлен группирующий проект glace-js, который включает glace-core и перечисленные плагины.

Каждый проект снабжен документацией:

А также основная функциональность покрыта интеграционными и юнит-тестами. В настоящее время расширяется тестовое покрытие и уточняется документация.