マスター:
Galen は、Web アプリケーションのレイアウトとレスポンシブ デザインをテストするためのオープンソース ツールです。これは、強力な機能テスト フレームワークでもあります。詳細については、http://galenframework.com をご覧ください。
Galen Framework は、Web ブラウザを開いてページ上のテスト済み要素を選択するために Selenium を使用します。さまざまなブラウザ サイズに合わせて Web ページのレイアウトを記述する特別な言語を備えています。デバイスとサイズに独自のタグを定義し、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 フレームワークのドキュメントを参照してください。
このプロジェクトに貢献したい場合は、現在未解決の問題を探してください。誰かがすでに取り組んでいる可能性があるため、問題のコメントで、あなたがそれを取り上げるつもりであることを知らせてください。最後にプルリクエストを送信するだけです。ところで、これから取り組む機能は、特定の問題を解決するだけのものではありません。拡張可能で構成可能である必要があります。 github issues は、この機能について議論し、その実装方法を議論するのに最適な場所です。
次のバージョンの作業はすべて、対応するリリース ブランチ (リリース 2.5 など) で実行されます。 master ブランチは現在のライブ バージョンを反映します。プル リクエストのほとんどは、マスターではなくリリース ブランチで受け入れられます。
Galen Framework Web サイト (http://galenframework.com) に変更を加えたい場合は、ここで変更できます https://github.com/galenframework/galenframework.com
GPG キーを Maven settings.xml に追加します。
<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 以降と、いくつかのモジュールを備えたノードも必要です。
sudo npm install -g grunt-cli
sudo npm install -g bower
このプロジェクトは Maven に基づいています。 Intellij と Eclipse の両方を使用できます。 Linux で開発されているため、すべての組み立てスクリプトは bash で行われます。 zip アーカイブを使用して dist を組み立てるには、 ./makeDist.sh
を実行するだけで、バイナリ フォルダーとソース フォルダーの両方を含む dist フォルダーが作成され、そこに zip アーカイブも準備されます。コンセプトを素早くテストし、アセンブル直後に galen をインストールしたい場合は、スクリプト./assembleAndInstall.sh
を使用できます。 makeDist.sh
使用し、その後sudo ./install.sh
を呼び出すだけです。
テストには 2 つのレベルがあります。最初のテストは通常のmvn clean test
です。ただし、JavaScript コードが大量にあるため、Mocha が必要です。テストはフォルダーsrc/test/js/
にあります。を実行するには、そのフォルダーに移動してtestJs.sh
実行するだけです。
Galen Framework は、Apache License、バージョン 2.0 に基づいてライセンスされています。