Всем привет!
Давненько я не писал сюда, т.к. был занят релокацией и переквалификацией. Кстати кто интересуется переездом в солнечную Эстонию, можно подробно почитать в моем блоге.
А сегодня я хочу рассказать о своем новом проекте, который называется GlaceJS.
Это фреймворк для функционального тестирования на JavaScript. Ссылки на код и документацию. Обладает следующими возможностями и особенностями:
- Кросс-платформенный
- Использует
mochajsкак тест-раннер. - Имеет свою систему тестов и репортеров.
- Ориентирован на сложные функциональные сценарии.
- Поддерживает множественные независимые верикации внутри одного теста.
- Поддерживает параметризацию внутри и снаружи теста.
- Имеет встроенный опциональный механизм перезапуска упавших тестов и верификаций. Ключи запуска
--retry <number>и-retry-chunk <number>соответственно. - Поддерживает из коробки систему множественных репортов с возможностью подключения своих.
- Имеет встроенный репортер в консоль и TestRail. Поддержка Allure в ближайших планах. Ключ подключения
--testrail. - Запускает внутри себя селениум-сервер, если не указаны настройки для подключения к внешнему. Ключ подключения веб-тестов
--web. - Поддерживает Page Object Pattern.
- Умеет сравнивать два изображения и говорить похожи или нет.
- Умеет искать картинку в картинке и говорить есть или нет.
- Может писать видео выполнения тестов. Пока не поддерживается на macOS, но скоро появится. Ключи запуска
--video(удаляется, если тест пройдет) и--force-video(видео сохраняется в любом случае). - Умеет запускать Xvfb сервер, а также писать с него видео. Ключ запуска
--xvfbили--xvfb 1280x720. - Включает 2 типа прокси: обычный http и transparent (chrome browser only). Ключи подключения
--proxyи--global-proxy. Могут работать вместе или отдельно. - Поддерживает middleware для обоих прокси, можно подключать свои middleware.
- Включает middleware для кеширования ответов с сервера. Ключ
--cacheили--existing-cache(использует уже сохраненные данные, если не были удалены). Пока только агрессивное кэширование, без соответствия http-протоколу, но скоро будет. - Включает middleware для управления скоростью ответов прокси.
- Включает middleware для сбора информации об ответах сервера.
- Поддерживает хранение CLI опций в JSON-конфиге.
- Поддерживает расширение дефолного конфига собственным.
- Включает примеры на все основные возможности c указанием команд запуска.
Чтобы установить проект:
- Поставить
java,chrome browser. Для unix-системimagemagick,ffmpegилиavconv. Для windows-системimagemagickиffmpegустанавливаются при установкеglacejs. - Поставить
nodejs>=7.6иnpm>=4.0, компилятор нативных модулей для nodejs. - Установить через npm:
npm i glacejs - Или установить из исходников и попробовать рабочие примеры:
git clone https://github.com/schipiga/glacejs.git
cd glacejs
npm i
Сейчас проект на стадии активного расширения документации, возможностей и устранения мелких недочетов. Поэтому любой usage experience, contribution & issues приветствуются.
Cчитаете ли вы проект полезным?
- да
- нет
0 участников

Да тоже думаю об этом, на самом деле инфы по JS накопилось на несколько статей, так что в ближайшее время возьмусь.