Galen framework

Galen is a great framework to automate your layout test. This is a java-library developed by Ivan Shubin from Ukraine that has a purpose to make it easier to search for issues in the layout of any website.

With Selenium Grid, Galen can test layout on different devices and browsers even if it should be responsive (adaptive).

Its advantages:

  • Human-readable language with two variants of syntax (basic and advanced Galen Spec Language);
  • Opportunity to write tests in different languages (Galen Test Suite Syntax, JavaScript, Java API);
  • Detailed HTML-reports;
  • Great documentation.

You’ll find the documentation, examples, guides, and tutorials on the official website.

Layout test cases should be described in .spec files (files of the specification). One file for each page of the website.

It is easy to combine many specifications in a test (or tests). Create a .test file and include the specifications that should be performed in this test and which parameters should be used. For example, if layout should be tested for different devices or if javascript should be included in the tested page. It's also possible to write tests on javascript or Java API.

Installation

To use the framework you need to install:

  • Java v 1.6 (or newer);
  • Galen Framework. You should download it from the official website and unpack it anywhere on your drive (for example, C:\galenframework);

To use it on Windows OS you need to fill in the environment variables: path to java and path to Galen Framework. (More information about installation for Windows OS here).

Galen framework 1

To use it on Linux all you need is to run the script from the framework folder:
sudo ./install.sh

Usage

When you have Java and Galen installed, you can start testing. You need to write at least one spec-file.

Specification (Exapmle file example.spec)
# sharp is used for comments
# determinations are used for checked elements
# first column is the name of an element, the second column is the selector type (css, id or
# xpath), third column is the selector of an element itself.
===============================================
header                    id         #header_2
breadcrumbs          css        div.breadcrumbs
filter                       css        #filter-form
tools              css        #block-additional-functionality
top_wrapper           id          #top-wrapper
================================================
# you can check anything depending on the size of the window
# all - check for all the sizes (desktop, tablet, mobile etc.)

@ desktop
--------------------------
# check height of element #header_2
header
 height: 80 to 90px

@ all
--------------------------
# check if element #filter-form is placed near  
# #block-additional-functionality
filter
# inside: top_wrapper 5px left right, 3px top
 near: tools 5px left

Galen framework 2

Run tests

When the specification file is ready you can run your test. You should move to the folder with the folder containing your specification file.

The easiest way to run your test is to use the command line (Working in Command Line).

Just run galen check

It’s necessary to put following params: name of spec-file, url to the website and the size of the window.

Example:
galen check example.spec --url "http://127.0.0.1:1234" --size "1024x768" --htmlreport "html-report"

Galen framework 3

Now you can see your tests results in the html -report folder. Check html files there. It’s really demonstrative.

Galen framework 4
Galen framework 5

That’s it! That was easy, wasn’t it? Now it is enough for you to start writing your own tests. We have shown you only the main features of Galen framework. We love that tool in ADCI solutions. It’s a wonderful tool that combines many features and at the same time, it’s easy to use. Now we have a great simple way to find issues in the layout of the big projects!