владелец:
Galen — это инструмент с открытым исходным кодом для тестирования макета и адаптивного дизайна веб-приложений. Это также мощная среда функционального тестирования. Для получения дополнительной информации посетите http://galenframework.com.
Galen Framework использует Selenium для открытия веб-браузера и выбора тестируемых элементов на странице. Он имеет специальный язык для описания макета веб-страницы для разных размеров браузера. Вам просто нужно определить свои собственные теги для устройств и размеров, а затем использовать проверки записи на языке спецификации Galen для каждого элемента на странице. Лучший способ протестировать макет — проверить расположение и размеры элементов относительно друг друга. Вот небольшой пример базового синтаксиса.
@objects
header id header
menu css #menu
content id content
side-panel id side-panel
footer id footer
= Main section =
@on *
header:
inside screen 0px top, 0px left, 0px right
menu:
inside screen 0px left right
below header 0px
content:
below menu 0px
inside screen 0px left
@on desktop
side-panel:
below menu 0px
inside screen 0px right
width 300px
near content 0px right
@on mobile
content, side-panel:
width 100% of screen/width
side-panel:
below content 0px
А вот более продвинутая спецификация:
# example of using custom rules (functions)
@set userMargin 5 to 10 px
@objects
user-* div.users-list .user
@rule %{pattern} are below each other by %{distance} and aligned
@forEach [pattern] as object, prev as prevObject
${object}:
below ${prevObject} ${distance}
aligned vertically all ${prevObject}
= Checking all users =
| user-* are below each other by ${userMargin} and aligned
Условные утверждения:
@objects
banner-container #banner-container
= Banner section =
@if ${isVisible("banner-container")}
banner-container:
image file imgs/banner.png, error 5%
Для получения дополнительной информации прочтите документацию Galen Framework.
Если вы хотите внести свой вклад в этот проект, просто поищите текущие открытые проблемы. Пожалуйста, сообщите в комментариях к выпуску, что вы собираетесь его поднять, потому что кто-то уже мог над ним работать. В конце просто отправьте запрос на включение. Кстати, функция, над которой вы собираетесь работать, не должна просто решать вашу конкретную проблему. Он должен быть расширяемым и настраиваемым. GitHub Issues — лучшее место для обсуждения этой функции и обсуждения того, как ее следует реализовать.
Вся работа над следующей версией выполняется в соответствующей ветке релиза (например, релиз-2.5). Ветка master отражает текущую действующую версию. Большинство запросов на включение принимаются в ветке выпуска, а не в основной ветке.
Если вы хотите внести изменения в веб-сайт Galen Framework (http://galenframework.com), вы можете сделать это здесь https://github.com/galenframework/galenframework.com.
Добавьте ключ GPG в файл settings.xml maven:
<properties>
<gpg.keyname>C78F3CC4</gpg.keyname>
<gpg.passphrase>Password</gpg.passphrase>
...
Настройте зависимости mvn clean install
Тест можно запустить через mvn verify
Чтобы запустить интеграционные тесты для Chrome:
mvn clean verify -Dwebdriver.chrome.driver=/opt/dev/chromedriver -Dselenium.browser=chrome
Пожалуйста, убедитесь, что вы загрузили chromedriver, см. здесь.
Также вам понадобится Maven 3.3 или новее и Node с некоторыми модулями:
sudo npm install -g grunt-cli
sudo npm install -g bower
Этот проект основан на Maven. Для этого вы можете использовать как Intellij, так и Eclipse. Он разрабатывается в Linux, поэтому все сценарии сборки находятся в bash. Чтобы собрать дист с zip-архивами, просто запустите ./makeDist.sh
, и он создаст папку dist с двоичными и исходными папками, а также подготовит там zip-архивы. Если вы хотите быстро протестировать концепцию и установить Galen сразу после сборки, вы можете использовать скрипт ./assembleAndInstall.sh
. Он использует makeDist.sh
, а затем просто вызывает sudo ./install.sh
Есть два уровня тестирования. Первый — это обычный mvn clean test
. Но так как Javascript-кода много — нужен Mocha. Тесты находятся в папке src/test/js/
. Чтобы запустить, просто перейдите в эту папку и выполните testJs.sh
Galen Framework лицензируется по лицензии Apache версии 2.0.