{"id":383,"date":"2022-01-21T23:08:04","date_gmt":"2022-01-21T23:08:04","guid":{"rendered":"http:\/\/rainforestqa.com\/visual-regression-testing-tools\/"},"modified":"2025-03-18T13:15:06","modified_gmt":"2025-03-18T13:15:06","slug":"visual-regression-testing-tools","status":"publish","type":"post","link":"https:\/\/www.rainforestqa.com\/blog\/visual-regression-testing-tools","title":{"rendered":"Visual regression testing tools: The 5 best to catch visual bugs"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Automated visual regression testing tools check for style issues and problems with the visual layer of an app or website.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The benefit of these tools is that they can catch issues on the visual layer (the user interface of the website or app, which customers see) that may get missed by test scripts that only interact with the underlying code (the DOM).&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Common visual regressions include things like overlapping modules, hidden buttons, elements that render off-screen, brand styles reverting to old versions, and a host of minor or major CSS issues that can get missed by both human QA testers and automation scripts.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, here\u2019s a screenshot of Google\u2019s homepage with an error. The \u201cI\u2019m Feeling Lucky\u201d button is missing. Now, if the button had truly been removed from the page, it wouldn\u2019t be present in the underlying code of the page, and most automated <a href=\"https:\/\/www.rainforestqa.com\/blog\/regression-testing-tools\" target=\"_blank\" rel=\"noreferrer noopener\">regression testing tools<\/a> would catch the bug.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e87a27efd9fe3da3e48588_visual-regression-testing-1.png\" alt=\"Google search example with the &quot;I'm Feeling Lucky&quot; button missing.\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">However, if you scroll to the right within the browser, you\u2019ll find that the button is, in fact, present, but it\u2019s rendering off-screen because someone (in this hypothetical situation) accidentally used the wrong setting in some CSS\u2014a not-uncommon occurrence.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e87d7dac8952ca6eadfd6e_visual-regression-testing-2.png\" alt=\"Google search example with the &quot;I'm Feeling Lucky&quot; button offset on the page.\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Most regression testing tools that only interact with the underlying code of the page without a visual validation step would let this bug escape to production.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While a human tester would immediately notice the visual bug in the example above, take a look at the two screenshots below. Does the difference between the two immediately jump out at you?&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61eb1abd28fe924f9e718894_correct%20margins.png\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61eb1acaeb33ffb257c247ae_bigger%20margins.png\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When you&#8217;re comparing the images side by side, you might notice that the space between the buttons is too big (by 10 pixels) in the second image. But for most human users (or testers), this kind of subtle change would be easy to miss. If you don\u2019t promptly correct minor visual regressions like this, similar errors in the future can compound until you\u2019re looking at a screen with an inconsistent layout.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Human testers also tend to overlook minor brand inconsistencies. If an error in development caused the app to revert to an old stylesheet, the buttons could appear with outdated brand colors or styles, eroding your brand (and in some cases, even damaging your company\u2019s trademark rights).&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e87dd199be3bb52379a69d_visual-regression-testing-5.png\" alt=\"Google search with the old buttons being displayed instead of the new.\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The one way to consistently catch visual bugs like these without slowing down your testing process is to use a visual regression testing tool that seamlessly fits into your automated testing workflow.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Over the last few years, there has been an explosion in development of visual testing tools, and the differences between them aren\u2019t always obvious.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this post, we\u2019re going to cover what to look for in a visual regression testing tool and share what we believe are the five best tools available today.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Visual Regression Testing Tools: What to Look for<\/li>\n\n\n\n<li>Best Overall Visual Regression Tool for Web Apps (and No-Code QA Teams): Rainforest QA<\/li>\n\n\n\n<li>Best Visual Regression Testing Tool for Selenium Power Users: Applitools<\/li>\n\n\n\n<li>Best Mobile Visual Regression Testing Tool: Kobiton<\/li>\n\n\n\n<li>Best Open Source Visual Validation Tool: PhantomCSS<\/li>\n\n\n\n<li>Best Visual Diff Tool for Marketing Sites, Blogs, and News Sites: Percy&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em><a href=\"https:\/\/www.rainforestqa.com\/talk-to-sales\">Talk to us<\/a> about how you can quickly and easily create automated visual regression tests with no code with Rainforest.<\/em><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.rainforestqa.com\/blog\/visual-regression-testing-tools\/#Visual_Regression_Testing_Tools_What_to_Look_for\" >Visual Regression Testing Tools: What to Look for<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.rainforestqa.com\/blog\/visual-regression-testing-tools\/#Best_Overall_Visual_Regression_Tool_for_Web_Apps_and_No-Code_QA_Teams_Rainforest_QA\" >Best Overall Visual Regression Tool for Web Apps (and No-Code QA Teams): Rainforest QA<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.rainforestqa.com\/blog\/visual-regression-testing-tools\/#Best_Visual_Regression_Testing_Tool_for_Selenium_and_Cypress_Power_Users_Applitools\" >Best Visual Regression Testing Tool for Selenium and Cypress Power Users: Applitools<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.rainforestqa.com\/blog\/visual-regression-testing-tools\/#Best_Mobile_Visual_Regression_Testing_Tool_Kobiton\" >Best Mobile Visual Regression Testing Tool: Kobiton<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.rainforestqa.com\/blog\/visual-regression-testing-tools\/#Best_Open-Source_Visual_Validation_Tool_PhantomCSS\" >Best Open-Source Visual Validation Tool: PhantomCSS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.rainforestqa.com\/blog\/visual-regression-testing-tools\/#Best_Visual_Diff_Tool_for_Marketing_Sites_Blogs_and_News_Sites_Percy\" >Best Visual Diff Tool for Marketing Sites, Blogs, and News Sites: Percy<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Visual_Regression_Testing_Tools_What_to_Look_for\"><\/span>Visual Regression Testing Tools: What to Look for<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019re going to assume that you\u2019re already doing some <a href=\"https:\/\/www.rainforestqa.com\/blog\/software-regression-testing\" target=\"_blank\" rel=\"noreferrer noopener\">software regression testing<\/a>, whether you\u2019re clicking through your app manually or using an automated testing tool.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re going to add a visual regression testing tool to your mix, there are a few things to look for to decide if the tool will meet your needs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do you need programming skills to use it?&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Automated testing tools can be divided into two categories:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>No-code tools that let anyone create tests with either a drag-and-drop interface or a record-and-playback plugin, and&nbsp;<\/li>\n\n\n\n<li>Testing frameworks to help developers write coded test scripts.&nbsp;<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Visual regression testing tools also fall into those two categories. If you don\u2019t have programmers on your QA team, you\u2019ll want to look for a no-code tool.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How does it filter out all of the false positives that come from tiny rendering differences?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A visual regression testing tool needs to reliably trigger a failure whenever it <a href=\"https:\/\/www.rainforestqa.com\/blog\/automated-front-end-testing\" target=\"_blank\" rel=\"noreferrer noopener\">finds visual regressions on the front end<\/a> that affect the user experience, while ignoring visual changes that aren\u2019t bugs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It sounds simple, but it\u2019s actually quite hard to pull off. Most tools, especially the open-source options, simply compare screenshots of the entire UI and will flag every single change, making them too sensitive for most users. Debugging all of these &#8220;false positive&#8221; will frustrate any team aiming for <a href=\"https:\/\/www.rainforestqa.com\/blog\/agile-regression-testing\">agile regression testing<\/a> that allows small, frequent releases.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Is it an all-in-one testing solution, or is it an add-on to another automation tool?&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Some visual testing tools are standalone testing solutions, meaning you can create, run, and edit tests with them, but they only do visual validation, so they\u2019re meant to be used in addition to some other solution for regression testing. Other tools are just plug-ins designed to add visual validation to your existing automation framework. They usually do this by triggering a screenshot step in the middle of an existing automated test script.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In contrast, our tool, Rainforest, is an all-in-one solution to <a href=\"https:\/\/www.rainforestqa.com\/blog\/automate-regression-testing\" target=\"_blank\" rel=\"noreferrer noopener\">automate regression testing<\/a>, both visual and otherwise. (But more on that later.)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Is it open-source or commercial? If commercial, is the pricing flexible and scalable?&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There are some free open-source tools that you\u2019ll never have to pay for, but open-source tools don\u2019t come with customer support teams, typically require programming skills to use, and are usually more limited in what they can do.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the commercial side, many tools structure their pricing into tiers that can force you to upgrade to a much more expensive tier when you max out the starter plan. And some tools lock you into long-term contracts. An ideal tool will let you pay for only as much testing as you need, and scale up or down freely as your needs change.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now we\u2019ll share our five favorite visual testing tools, starting with our tool, Rainforest QA.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Best_Overall_Visual_Regression_Tool_for_Web_Apps_and_No-Code_QA_Teams_Rainforest_QA\"><\/span>Best Overall Visual Regression Tool for Web Apps (and No-Code QA Teams): Rainforest QA<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u200d<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61b250fa0b013466232fafc2_Add%20a%20Click%20Action.gif\" alt=\"Example of the Rainforest QA platform capturing a button to allow text matching.\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.rainforestqa.com\" target=\"_blank\" rel=\"noopener\">Rainforest QA<\/a> is a no-code automated UI testing tool with a drag-and-drop editor that lets you create automated tests that mimic how users interact with the final, visual layer of your website or app.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s a deep dive into the features that Rainforest customers love.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">No-Code Automation That Anyone Can Use with Built-in Visual Validation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Rainforest\u2019s automation navigates through the app on the visual layer just like a user would\u2014looking for buttons, clicking on links, putting text into forms, etc.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It validates the visual content by looking for precise screenshots of on-page elements (like a sign-up button), while also validating the overall functionality of the page by completing typical user actions.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because it\u2019s no-code, anyone, including non-developers, can set up, edit, and run tests in Rainforest.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To create a test, you choose from a list of available actions in a drop-down menu in the test editor (click, fill, press key, etc.). After you choose the first action, you click-and-drag with the mouse to create a small screenshot to indicate where on the page the action will happen (on a button, on a hyperlink, in a form, etc.).&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e880eb804938814ea9c79d_visual-regression-testing-7.gif\" alt=\"Element name: How it Works Button example in Rainforest QA\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can add as many actions as you need to complete the test. You can even test things like sending and checking emails, activating new user accounts, and downloading files.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Precise Screenshots &amp; Text Matching to Filter Out Noise<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e87ea580493872f4a992f9_visual-regression-testing-8.png\" alt=\"Sign Up with Observe Key Messaging in Rainforest QA\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">One of the action options you can choose in Rainforest is \u201cObserve.\u201d The \u201cObserve\u201d action will verify that an element is both visible and looks like the screenshot you took when you created the test. This is important for catching visual bugs.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the color has changed on a button, or another element is overlapping the element you want to check, the test will fail. But notably, the Observe action doesn\u2019t observe the entire UI\u2014it only checks the box of pixels that you defined in the test. That means that there can be minor changes to other sections of the page, and the test will pass as long as all the elements you included in the test were present.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But sometimes, Rainforest\u2019s exact pixel-matching can still be too sensitive for your needs. Let\u2019s say you updated your stylesheets to reflect a rebrand, but you forgot to update your test suite. Since all of the buttons now have different styling, the visual changes would trigger failures across your test suite.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To provide more flexibility in situations like this, Rainforest offers text matching to allow tests to pass even if there have been minor changes to visual elements. You can toggle text matching on or off for any test step.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e87ebca2109d4dfdb31937_visual-regression-testing-9.png\" alt=\"Text Matching Example in Rainforest QA\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With text matching turned on, Rainforest will search for the text of the button or element in your screenshot if it can\u2019t find an exact pixel match of the screenshotted element. If it finds the matching text anywhere on the screen, the test will still be able to proceed. Even so, you\u2019ll be notified in the test results page that there was a visual change (see the Element Mismatch warning in the screenshot below), letting you know that you need to update the screenshots.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And if you didn\u2019t intend to change the styling of your buttons, you\u2019ll have a chance to investigate the change before pushing code to production.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61a54a40ee9026804db75bbd_agile-regression-testing-5.png\" alt=\"Rainforest Signup Flow: Element Mismatch Example in Rainforest QA\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Built-in Tools for Running Tests on Different Browsers and Reporting Bugs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Rainforest QA is an all-in-one test automation solution, which means it has built-in tools to allow users to create, run, and manage as many automated tests as they need.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With Rainforest, you don\u2019t need to pay for additional services like a testing grid, test case management tools, or team collaboration tools just to manage your automated testing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rainforest QA includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <strong>built-in \u201ctest grid\u201d of virtual machines<\/strong> featuring more than 40 web browsers (including current and old versions of Chrome, Firefox, Internet Explorer, etc.) and platforms across desktop and mobile.<\/li>\n\n\n\n<li><strong>Test case organization<\/strong> options allow you to sort tests into different run groups, feature sets, and priority levels.&nbsp;<\/li>\n\n\n\n<li><strong>Integrations with Slack, Microsoft Teams, and email,<\/strong> so your team can get real-time notifications of test failures and other updates.<\/li>\n\n\n\n<li>A <strong>JIRA integration<\/strong> so you can automatically create tickets for your developers for test failures. Each ticket includes steps from the failed test, a screenshot from the failed test step, HTTP logs, and a link back to more information in Rainforest, including a video reproduction of the failed test.&nbsp;<\/li>\n\n\n\n<li>Developer tooling including an <strong>API, a CLI, and integrations for your CI workflows<\/strong> in CircleCI and GitHub.<\/li>\n\n\n\n<li>A worldwide community of human <a href=\"https:\/\/www.rainforestqa.com\/features\/crowdsourced-testing\" target=\"_blank\" rel=\"noopener\">QA testers available on-demand, 24&#215;7<\/a> to run tests that can\u2019t be automated, or that need subjective feedback.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Video Replays of Every Test for Easy Failure Categorization<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Rainforest automatically records a video of every test it runs (whether the test passes or fails). When a test fails, you can review the video to see the actual point of failure and everything leading up to (and following) it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With most automated software testing tools, you\u2019d have to sort through lines of code in order to identify why a test failed. With Rainforest, anyone can look at test results, know exactly what happened in the test, and quickly understand why the test failed.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rainforest charges users based on how many minutes of testing they do each month.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>See for yourself why Rainforest QA is the best visual regression testing tool. <a href=\"https:\/\/www.rainforestqa.com\/talk-to-sales\">Talk to us<\/a> about setting up a Rainforest plan that fits your needs.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Other Visual Regression Testing Tools<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">While we think Rainforest is the best overall visual testing tool, you might consider some of the following tools if you\u2019re absolutely committed to using Selenium (but you might want to read why many organizations are looking for <a href=\"https:\/\/www.rainforestqa.com\/blog\/selenium-alternatives\" target=\"_blank\" rel=\"noreferrer noopener\">Selenium alternatives<\/a>); if you\u2019re exclusively testing mobile apps; if you want to use an open-source tool; or if you only want to validate the visual rendering of a single web page.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Best_Visual_Regression_Testing_Tool_for_Selenium_and_Cypress_Power_Users_Applitools\"><\/span>Best Visual Regression Testing Tool for Selenium and Cypress Power Users: Applitools<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e87ee860775e0668900a90_visual-regression-testing-11.png\" alt=\"Applitools homepage: Next generation test automation platform powered by Visual AI\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How It Works: <\/strong>Working within your favorite test runner (Applitools supports more than 40 testing frameworks and languages, so it\u2019s compatible with almost any development environment), you can insert visual checkpoints with just one line of code (generated for you by Applitools) into any step in an automation test script.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Like many other visual regression tools, Applitools takes a screenshot of the entire UI when you write the test, and sets it as the baseline. The next time you run the test, it will take a new screenshot and compare it to the baseline, using an AI-powered image comparison algorithm to filter out the noise.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What We Like: <\/strong>The AI aspect of Applitools helps it overcome the obvious false positives\/noise problems of tools that just take a screenshot of the entire UI and alert you to ANY changes. It has four layers of sensitivity, called match levels:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exact<\/strong> is a pixel-to-pixel comparison, which they don\u2019t recommend because it\u2019s likely to cause false positive results.<\/li>\n\n\n\n<li><strong>Strict <\/strong>compares everything including content (text), fonts, layout, colors, and position of each of the elements. This is the level they recommend for regression tests within one browser or operating system because the algorithm knows to ignore rendering changes that are not visible to the human eye.&nbsp;<\/li>\n\n\n\n<li><strong>Content<\/strong> is similar to strict, but it ignores colors.&nbsp;<\/li>\n\n\n\n<li><strong>Layout <\/strong>compares the layouts (i.e. structure) of the baseline and actual images. It makes sure that elements are properly aligned and positioned relative to each other, but it ignores the actual content and color of those elements. It\u2019s great for checking the UI of apps with user-generated content or other types of dynamic content that would change between each test run.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If those four match levels don\u2019t work for you, you can also carve out sections of the page that you know change too often for the AI to handle (dynamic content, moving content, features in beta, etc.). However, we think it\u2019s more efficient to specify what you DO want to evaluate (as you would with Rainforest\u2019s visual editor), rather than having to carve out the stuff you DON\u2019T. If you carve out too much of the page, your test effectively has a bunch of holes where bugs can slip through.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What We Don\u2019t Like:<\/strong> Unfortunately, Applitools is extremely limited in functionality if you don\u2019t have programming skills. It\u2019s not an accessible tool for non-technical QA team members. You can use Applitools with the Selenium IDE record-and-replay plugin to add visual checkpoints into tests, but these tests are extremely limited (you can\u2019t do database testing, you don\u2019t get detailed test reports, and it can\u2019t handle conditional statements).&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pricing:<\/strong> The Free Forever plan offers one user and 100 visual checkpoints per month. If you want to have multiple users and CI\/CD integration, you\u2019ll need to sign a 1-year contract, and they don\u2019t list pricing on their website, so you\u2019ll have to inquire with the sales team.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Best_Mobile_Visual_Regression_Testing_Tool_Kobiton\"><\/span>Best Mobile Visual Regression Testing Tool: Kobiton<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e87f0dce4879c255bd5d08_visual-regression-testing-12.png\" alt=\"Kobiton homepage: Kobiton helps small QA teams do more with less.\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How It Works: <\/strong>Kobiton focuses on mobile testing and real-device testing, but when it comes to visual testing, it\u2019s really trying to help you maintain a consistent visual output across all devices and form factors. It offers scriptless manual testing: you can record a manual test and it converts it into an Appium script (Selenium scripts are also available). You\u2019ll get automatic notifications of visual anomalies.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What We Like:<\/strong> Kobiton is one of the only options that is built for mobile first, and mobile is hard to do well. Also, they go beyond just pointing out differences to making suggestions for improvements based on their analysis of the Top 50 apps in the world. Additionally, users say the screenshot function makes gathering screenshots for different screen sizes quick and easy, which helps them get apps up on app stores faster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What We Don\u2019t Like:<\/strong> The only option Kobiton has for filtering noise and handling dynamic content is a setting to tell the AI to \u201cnavigate to the best matching element,\u201d but there\u2019s no way to know how consistently it will be able to identify the best match.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pricing<\/strong>: Kobiton\u2019s pricing is based on minutes of test run-time, like Rainforest. However, the cheapest plan starts at $500 a year for 500 minutes\/month.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Best_Open-Source_Visual_Validation_Tool_PhantomCSS\"><\/span>Best Open-Source Visual Validation Tool: PhantomCSS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e87f24998519746990ef9e_visual-regression-testing-13.png\" alt=\"PhantomCSS discussion in GitHub\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How It Works:<\/strong> PhantomCSS is built on top of PhantomJS\/CasperJS. It can define the steps of the test script so you can navigate around your app, and then it takes screenshots of each step and uses ResembleJS to compare the images to a baseline. You\u2019ll get notified of every difference. It has no tools for minimizing false positives.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What We Like:<\/strong> PhantomCSS has one of the most active and healthy communities on GitHub for any open-source visual regression testing tool. That\u2019s very important for an open-source because that community is your only source for support when you run into trouble using it.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What We Don\u2019t Like:<\/strong> Like all open-source visual regression testing tools, there\u2019s too much noise for practical usage because you\u2019ll get notified of every difference between your baseline image and the screenshot of each test. And I mean <em>literally<\/em> every difference. The only way to handle content that you know will have minor changes frequently is to use Javascript to replace content within the elements you\u2019re testing with a set of representative dummy content\u2014so ultimately you\u2019re not testing what the user would see.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pricing<\/strong>: Free<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Best_Visual_Diff_Tool_for_Marketing_Sites_Blogs_and_News_Sites_Percy\"><\/span>Best Visual Diff Tool for Marketing Sites, Blogs, and News Sites: Percy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/uploads-ssl.webflow.com\/60da68c37e5767dfb65004c0\/61e87f3879efe616a28b784a_visual-regression-testing-14.png\" alt=\"PErcy homepage: Your all-in-one visual review platform\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How It works:<\/strong> Percy is a tool owned by Browserstack. If you\u2019re already using Browserstack for cross-browser testing or any of its other automation tools for functional testing, it integrates smoothly with your existing unit and integration tests. When a visual test is kicked off, Percy renders UI snapshots across different browsers and responsive widths. Through pixel-by-pixel baseline comparisons, Percy detects and highlights relevant visual changes that have appeared in each page and state of your UI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What We Like<\/strong>: Percy is a really fast way to test how a <em>single web page<\/em> looks on all of the browsers and device combinations. And it can test how it looks as the width of the screen changes, to find any widths where the responsive design is broken (overlapping elements, huge white spaces, etc.). Users mention that the snapshot stabilization feature can minimize false positives from the tiny differences between the ways different browsers render an app.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What We Don\u2019t Like: <\/strong>Pixel-by-pixel image comparison is too sensitive for functional testing of web applications where you\u2019re navigating through multiple screens, inputting information, evaluating results, etc. The noise from all of the false positives will quickly make it unusable for testing more than one page at a time.<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-8f761849 wp-block-group-is-layout-flex\">\n<p class=\"wp-block-paragraph\"><strong>Pricing:<\/strong> Percy has a free tier which provides 5,000 screenshots\/month, unlimited team members, and unlimited projects. The Startup plan starts at $149\/month and includes unlimited users, cross-browser support, automatic browser upgrades, responsive visual testing, source code integrations, and 1 year build history.&nbsp;<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Improve Your Test Coverage with Visual Regression Testing from Rainforest QA<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">With a visual regression testing tool, you can be confident your app is free of visual bugs that disrupt the user experience or erode your brand image.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rainforest QA\u2019s no-code automated testing platform lets you build regression tests that automatically check the visual components of your app. It\u2019s a scalable, all-in-one quality assurance solution that\u2019s appropriate for small teams just getting started with automated testing or QA-mature teams regularly running 500+ automated software tests.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.rainforestqa.com\/talk-to-sales\">Talk to us<\/a> about setting up a Rainforest plan that fits your needs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comparing 5 visual regression testing tools: 1. Rainforest QA 2. Applitools 3. Kobiton 4. PhantomCSS 5. Percy.<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-383","post","type-post","status-publish","format-standard","hentry","category-test-automation"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/posts\/383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/comments?post=383"}],"version-history":[{"count":11,"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/posts\/383\/revisions"}],"predecessor-version":[{"id":3078,"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/posts\/383\/revisions\/3078"}],"wp:attachment":[{"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/media?parent=383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/categories?post=383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rainforestqa.com\/blog\/wp-json\/wp\/v2\/tags?post=383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}