Skip to main content
18 February 2020

Visual Testing of Patternlab and Drupal

What is Patternlab?

 

Patternlab is a UI design system that helps to build and maintain websites. The biggest advantage of using such a system is that it fills the gap between developers and creates a universal library of components that everyone uses.

In other words, instead of every developer builds their pages the way they like there is a centralized library where they either take elements or contribute to it and then use them.

Patternlab provides a framework for building components. They are:

  • Atoms (example: lists, form elements, tables)
  • Molecules (example: cards, menus)
  • Organisms (example: card grids, accordion)
  • Templates (example: two-column layout, full-width layout)
  • Pages (example: homepage, blog listing page)

 

Drupal integrations

 

Because both Patternlab and Drupal 8 can use twig as a rendering engine it is possible to build a theme to be based on Patternlab’s components.

The most notable projects in Drupal are Emulsify (https://github.com/fourkitchens/emulsify) by Four Kitchens and Bear Skin by Zivtech (https://github.com/zivtech/bear_skin/tree/8.x-2.x).

The way integration works is that in Drupal templates there are includes of Patternlab’s templates. This makes all development happen in Patternlab’s library and then the theme simply includes proper templates in proper places.

Example https://github.com/fourkitchens/emulsify/blob/develop/templates/navigation/breadcrumb.html.twig.

 

 

Visual Regression Testing

 

It makes it very easy to apply visual regression testing to Patternlab’s demo site.

For example, you can do it with BackstopJS and commit screenshots to the repository itself.

Also, we made it easy to be done with Diffy -- you simply need to provide a URL of the static site and Diffy’s crawler will get pages based on the JSON available to the static site’s generator. We pull:

  • Page with all atoms
  • Pages with all molecules, organisms, templates, and pages
Scanning Patternlab Demo Site

 

In this way, in just a few minutes you will have a full visual snapshot of your components. So whenever you make any changes it is easy to see if any regressions were introduced.

 

Latest from out Blog

7 min

25 Web Dev & QA Testing Statistics Every Developer Should Know [2022]

Trends move quickly in the web development and QA testing space. These trends can help predict where the QA and testing industry is headed. Development teams can adapt emerging best practices and methodologies while gaining a better understanding of the challenges they face throughout the development cycle.

 

7 min

Regression Testing: Your Step-by-Step Action Plan

Regression testing can be an overwhelming task. You can try to do too much and fail because of a lack of resources. In this article we will talk about how you can start with small practical steps to get results fast. Once you set up basic tests like visual regression testing you can start with more complex implementations including automation.
4 mins

Top Visual Regressions that You Can Spot with and without Automated Testing

Visual bugs are typically considered easy to spot. You can often see what’s missing or what’s amiss on a web page.

A photo that’s too much to the left, the wrong fonts, a missing button -- these are things that you can spot at a simple glance. But not all visual bugs are that easy to catch, especially not with the naked (or untrained eye).

This is where automated visual regression tools like Diffy come into play. They can help you spot elusive visual bugs easily, even if you have to test hundreds of pages.