El Madrid software QA and Testing group summoned his faithful to teach them a new spell: Is it possible to automate web behavioral tests on responsive websites? Is a new born type of tests - the appearance test?
Although the challenge was already too tempting to ignore, it also included a visit to the TIC coworking space of AcceptedIdeas.com Double prize! go!
The motivation is very clear
Designing websites that adapt their behavior according to the device (computer, tablet or phone) has gone from recommendation to obligation ... especially since the very Google penalizes sites that are not "responsive". However, this variety increases the number of tests to be carried out while the pressure to get to market quickly decreases the time to carry them out. Quite a crossroads.
The AfterTest spell was cast, once again, by Graham Moran, who summoned Fernando Martín, Software Quality Assurance (SQA) and support at BQ Engineer, to come to our rescue. And so he did, with solvency, explaining his secret potion: Galen Framework.
"Automated testing of look and feel for your responsive websites"
What does the Galen framework aim to offer us?
This Galen framework, implemented in Java, was born by and for the automation of web tests on the behavior of adaptive-looking sites.
For this reason, we can write a specification that describes the distribution ("layout") of the graphic elements of a given page and launch tests based on this specification. To locate the different objects to be tested we can use relative references between them and to establish sizes we can rely on ranges, percentages and we can even define our own rules or validation functions. Very very flexible.
Also, Mr. Galen wants to be a good neighbor. It is intended to be easily human readable ("Human Readable") and is also prepared to work on selenium, launch from our orchestrator Jenkins, enrich our library of artifacts via Sonatype Central Repository, be included as a dependency in our projects Maven and even integrate into mobile app testing platforms like the popular appium. Furthermore, since it supports being called from our functional tests, we can enrich them with appearance checks.
And the thing does not end here, Galen continues adding. It gives us good compatibility with browsers and facilities for visual checks, as a comparison of images or color schemes. Furthermore, we can obtain screenshots marking where tests have failed. Yes Yes. They can also be generate reports in HTML (including heat maps on the problems), TestNG or JSON. A true team player!
These are the main lines with which I simply want to outline the high potential of this «framework». Of course, the dissection on web test automation that Fernando gave us was much more exhaustive, going into configuration details ("galen config"), going over the language for basic / advanced specifications ("galen spec") and ending with several demo runs ("galen check", "galen test"). Outside the scope of this article (and mine 😉
I think the video that the people of the Galen Framework have produced is a magnificent culmination of this summary:
Resources to continue advancing web test automation
If you've seen a glimmer of light in the haze of web appearance test automation, here are a number of references to keep you walking. We encourage you to do so, the award deserves it.
- Galen Framework Official Page: http://galenframework.com/
- Galen Framework is distributed under the Apache License 2 and its sources are available on GitHub: https://github.com/galenframework/galen
- A blog with good examples, Mind Engine: http://mindengine.net/category/galen/
- The presentation of Fernando Martín Gil himself in SlideShare: «Am I responsive? Test me! - Galen framework »
- Article by Sébastien Axinté: «Automated Tests for Visual Responsive Layouts »
- Article from the creature's father, Ivan Shubin: "Visual Test-Driven Development For Responsive Interface Design"
As you can quickly see in the reviews that we reference, if we apply Test-guided Development (TDD - Test Driven Development) yet we will obtain a higher yield of this framework. What's more, if we want our automatic tests to be sustainable, that is, that the implementation and maintenance effort remains within reason, I consider that apply a Low-cost Software Quality strategy it's inexcusable.