Visual Test Automation with Python and Applitools: Using Ignore Regions
Tags: python, testing, automation, aplitools
Published: 2024-07-16 14:34:38

**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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52edpqopbptgqq18ew37.png)

**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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ebt7sa59y21rco8vr039.png)


---


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ppbilo5ak2gty1wpkqko.png)

---


**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](https://applitools.com/docs/api-ref/sdk-api/xcui/checksettings/)

The complete code can be found on [GitHub](https://github.com/jeissyguimaraes/selenium_python_aplitools).