掌握:
Galen 是一個開源工具,用於測試 Web 應用程式的佈局和響應式設計。它也是一個強大的功能測試框架。欲了解更多信息,請訪問 http://galenframework.com
Galen 框架使用 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 是討論該功能並討論如何實現它的最佳場所。
下一個版本的所有工作都在相應的發布分支(例如release-2.5)中執行。主分支反映了當前的即時版本。大多數拉取請求在發布分支上被接受,而不是在主分支上接受。
如果您想更改 Galen Framework 網站 (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 或更高版本以及帶有一些模組的 Node:
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
有兩個級別的測試。第一個只是常規的mvn clean test
。但由於有大量 Javascript 程式碼 - 你需要 Mocha。測試位於資料夾src/test/js/
中。要運行只需轉到該資料夾並執行testJs.sh
Galen Framework 依據 Apache License 2.0 版授權