掌握:
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 版获得许可