DEV Community

Cover image for Visual Test Automation with Python and Applitools: Using Ignore Regions
Jeissy Guimarães
Jeissy Guimarães

Posted on • Edited on

1 1 1

Visual Test Automation with Python and Applitools: Using Ignore Regions

Introduction

Visual test automation is essential to ensure that the user interfaces (UIs) of web applications are correct and visually consistent. By using Applitools, we can perform automated visual comparisons, identifying subtle differences that might be missed in manual tests. A useful feature of Applitools is the ability to define "Ignore Regions" - areas of the page that are ignored during visual comparison, such as dynamic elements that change frequently (e.g., banners, ads, etc.).

In this article, we will explore how to configure and use "Ignore Regions" in automated visual tests with Python and Applitools.

Advantages of Applitools for Layout and Visual Testing

🔍 Visual Difference Detection: Applitools uses AI to detect visual differences that might not be captured by traditional code checks. This is crucial to ensure that the user interface is correct and free from visual regressions.

🔧 Ease of Integration: It can be easily integrated with various test automation tools like Selenium, Cypress, among others. This allows you to add visual checks to your existing test flows without major rewrites.

🛠 Simplified Test Maintenance: With Applitools' "Baseline" approach, it is easy to update and maintain visual tests. When a UI change is intentional, you can update the baseline with a click.

🚫 Ignore Regions: Allows you to specify areas of the page to be ignored during visual comparison. This is useful for dynamic areas that change frequently and are not relevant to the visual test.

Code Implementation EyesLibrary Class The EyesLibrary class manages the integration with Applitools. Let's focus specifically on the function that defines the regions to be ignored during visual tests.

Image description

Advantages of the check_window_with_ignore Function

The check_window_with_ignore function is crucial for the robustness of visual tests, allowing specific areas of the page to be ignored. This is particularly useful in scenarios where dynamic elements, such as ads or notifications, can introduce visual variations that are not relevant to the test.

Example of Use

In the login test, we use this functionality to ignore specific elements of the page that might vary between test runs.

Image description


Image description


Conclusion
By using Applitools with Python, we can efficiently perform automated visual tests. The "Ignore Regions" functionality is especially useful for dynamic areas of the page, ensuring that our visual tests are precise and relevant. With this configuration, you can easily integrate these tests into your CI/CD pipeline, ensuring the continuous visual quality of your application.

For more information, check out the documentation for Applitools

The complete code can be found on GitHub.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay