{"id":13791,"date":"2020-12-10T22:15:36","date_gmt":"2020-12-10T22:15:36","guid":{"rendered":"http:\/\/abstracta.us\/blog\/?p=13791"},"modified":"2025-05-05T21:25:48","modified_gmt":"2025-05-05T21:25:48","slug":"automated-visual-regression-testing","status":"publish","type":"post","link":"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/","title":{"rendered":"What is Automated Visual Regression Testing and Should You Invest in It?"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/12\/eliott-reyna-qtMasDNcPQo-unsplash-1-min-1024x749.jpg\" alt=\"people looking at a computer screen\" class=\"wp-image-13819\" width=\"696\" height=\"509\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Detecting errors that automated functional tests often miss<\/h1>\n\n\n\n<p>Generally when we think of bugs in software, failures and unexpected behavior due to errors in the system logic come to mind. In part, by running (and automating) functional tests, we seek to detect these errors as early as possible. However, sometimes we miss other types of errors that are more obvious and recognizable to a user such as visual errors, which leads to the question: how important would it be to detect these errors within our tests?&nbsp;<\/p>\n\n\n\n<p>In this post, I\u2019ll explain how to achieve this with automated visual regression testing, advantages and disadvantages of this practice, and some tips to make it more worthwhile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Impact_of_Visual_Errors_on_the_User_Experience\"><\/span><strong>The Impact of Visual Errors on the User Experience<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>When talking about visual errors, we&#8217;re not referring to the aforementioned errors in the system logic, but to those aesthetic <a href=\"https:\/\/www.softwaretesttips.com\/defects-in-software-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"defects (opens in a new tab)\">defects<\/a> that cause interfaces to be displayed incorrectly, thus worsening the user experience. <\/p>\n\n\n\n<p>Here is a clear example of a visual error in Amazon&#8217;s mobile experience:<\/p>\n\n\n\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">The &#8220;Filter&#8221; bar is following us in this <a href=\"https:\/\/twitter.com\/hashtag\/GUIGoneWrong?src=hash&amp;ref_src=twsrc%5Etfw\">#GUIGoneWrong<\/a> from <a href=\"https:\/\/twitter.com\/amazon?ref_src=twsrc%5Etfw\">@amazon<\/a>! Visual <a href=\"https:\/\/twitter.com\/hashtag\/UI?src=hash&amp;ref_src=twsrc%5Etfw\">#UI<\/a> bugs sneak into production regularly, but Applitools Eyes is here to help \ud83d\udee0\ufe0f Reach out to learn how visual <a href=\"https:\/\/twitter.com\/hashtag\/AI?src=hash&amp;ref_src=twsrc%5Etfw\">#AI<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/testautomation?src=hash&amp;ref_src=twsrc%5Etfw\">#testautomation<\/a> can keep your apps and sites visually flawless <a href=\"https:\/\/t.co\/IG4oVNC8iv\">pic.twitter.com\/IG4oVNC8iv<\/a><\/p>\u2014 Applitools (@Applitools) <a href=\"https:\/\/twitter.com\/Applitools\/status\/1062073507100520450?ref_src=twsrc%5Etfw\">November 12, 2018<\/a><\/blockquote> <script async=\"\" src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>As you can see, the filter bar overlaps with the product description, which would be annoying for any shopper that wanted to read it easily. In this case, the error is an inconvenience, but there are other examples of when a visual error causes an application to be unusable. For example, when a visual component moves or disappears altogether.<\/p>\n\n\n\n<p>Unfortunately, automated UI tests aren&#8217;t meant for visual validation, so they\u2019d miss this kind of error. As you can see by looking at the Amazon example, even tech giants aren\u2019t immune to these bugs.<\/p>\n\n\n\n<p><strong>To sum up thus far: <\/strong><\/p>\n\n\n\n<ul><li>As automated UI tests do not detect them, it&#8217;s possible for an application to have visual errors<\/li><li>It\u2019s important to detect these bugs as they can be very detrimental to the usability and accessibility of an app, directly impacting the UX<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Now that we\u2019ve covered what visual errors are and why they matter, let\u2019s see how to detect them earlier in the development cycle.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Visual_Regression_Testing\"><\/span><strong>Visual Regression Testing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Visual regression tests validate that the appearance of an application hasn\u2019t undergone any unexpected changes by first capturing a screenshot (a baseline) of the application and then, after each test, checking if it has changed with respect to it. If so, the test is marked as failed.<\/p>\n\n\n\n<p>You can think of it like a game of \u201cspot the difference\u201d where you try to find differences between similar images:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/QeQu6ICHzqW1FKaGMt1xY0Bebc2w5-lce8cLikFIvWVUkPwhE32cVhEurwvUqmaPfLB2ky-CCr9qTJj-HmHJN_ORfopAGuh1UdznHA5dLYJBUMQa3xIKNZICHelWf7mX8NeONZ0m\" alt=\"spot the difference image game of donuts\"\/><figcaption>\u201cSpot the difference: Doughnut Differences\u201d source: <a href=\"https:\/\/www.rd.com\/list\/spot-the-difference\/\">Reader\u2019s Digest<\/a><\/figcaption><\/figure>\n\n\n\n<p>Visual regression tests are especially useful for detecting whether visual errors were generated after making changes to the system. They can be integrated into existing automated tests frameworks (such as Selenium or WebdriverIO) using tools that allow visual regression. In addition, many of these tools allow you to apply various image comparison logics (for example, looking at the structure of an interface or the content), which allows flexibility in testing and obtaining deterministic results.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Should_You_Incorporate_Automated_Visual_Regression_Tests\"><\/span><strong>Should You Incorporate Automated Visual Regression Tests?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Now that we have a better understanding of what visual regression tests consist of, let&#8217;s compare the advantages and disadvantages of incorporating them into an automated testing process. <\/p>\n\n\n\n<p class=\"has-background has-very-light-gray-background-color\">For more on test automation, read &#8220;<a href=\"https:\/\/abstracta.us\/blog\/test-automation\/when-to-automate-a-test\/\">When to Automate a Test<\/a>.&#8221;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Advantages_of_Automatic_Visual_Regression_Testing\"><\/span><strong>Advantages of Automatic Visual Regression Testing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul><li>Increase the scope of your existing automated tests <\/li><li>Detect visual errors early and quickly<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Disadvantages_of_Automatic_Visual_Regression_Testing\"><\/span><strong>Disadvantages of Automatic Visual Regression<\/strong> Testing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul><li>Added maintenance costs due to the need to keep screenshots of web interfaces while taking into account their several variations such as on different browsers, devices, operating systems and more<\/li><li>Image comparisons can return false positives leading to unreliable results and time wasted analyzing failures that don\u2019t correspond to errors&nbsp;<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Taking these points into account, we can see that these tests help to solve the problem of detecting visual errors in a timely way. However, the high cost of implementation and maintenance that they imply can result in them being unprofitable. If that happens, a team could end up discarding them, so it&#8217;s key to implement them in such a way that these disadvantages can be mitigated as much as possible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Good_Practices_for_Automated_Visual_Regression_Tests\"><\/span><strong>Good Practices for Automated Visual Regression Tests&nbsp;<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul><li>Target the application interfaces where visual regression testing would provide the most valuable results (where the highest priority or most critical cases are). This will help limit the number of images per case to focus only the most important ones.<\/li><li>Always avoid making exact comparisons (pixel by pixel), since they\u2019re more prone to failure. Instead, use other types of comparison logic more suited to your needs (layout, content, etc.). This will help obtain more deterministic and reliable results.<\/li><li>Consider baselines for devices where the application is most often used, and similarly, in their respective most used browsers. This will help to cover only the most important variants.<\/li><li>In recent years, codeless testing tools are evolving to support the visual regression testing story. Most of them offer visual test recorders for end-to-end tests. Read more in the article\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/www.telerik.com\/blogs\/case-for-codeless-testing\" target=\"_blank\">The Case of Codeless Testing<\/a>\u00a0by Progress.\u00a0<\/li><\/ul>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>By implementing these good practices, it\u2019s possible to make the most of the test results and reduce both maintenance costs and the probability of encountering false positives.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Visual_Regression_Tools\"><\/span><strong>Visual Regression Tools<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Last, but not least, let\u2019s look at some of the tools that can allow you to incorporate these tests.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Applitools\"><\/span>Applitools<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><a href=\"https:\/\/applitools.com\/\">Applitools<\/a> is a visual testing platform that provides a library called Applitools Eyes available for Java, Javascript, Python, C #, Ruby and PHP. It can be integrated into automated tests at the UI level. Through this library, you can integrate various functionalities to your tests to visually validate your application. Its massive community and extensive library of learning material make this tool stand out, above all.<\/p>\n\n\n\n<p class=\"has-background has-very-light-gray-background-color\">Check out <a rel=\"noreferrer noopener\" aria-label=\"this episode of the Quality Sense podcast (opens in a new tab)\" href=\"https:\/\/abstracta.us\/blog\/podcast\/visual-testing\/\" target=\"_blank\">this episode of the Quality Sense podcast<\/a>, where our COO, Federico Toledo interviews Anand Bagmar, Quality Evangelist and Solution Architect at Applitools.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Percy\"><\/span>Percy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><a href=\"https:\/\/percy.io\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Percy<\/a> by BrowserStack is a visual testing platform that, like Applitools, provides SDKs that can be integrated with UI-level tests in various languages. Its screenshot stabilization functionalities allow you to avoid false positives due to rendering of sources or animated images. For more information, check out <a href=\"https:\/\/docs.percy.io\/docs\/animations\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Percy&#8217;s documentation<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Oculow\"><\/span>Oculow<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/www.oculow.com\/\" target=\"_blank\">Oculow<\/a> is an innovative visual testing tool that offers a web test management platform and a library available in various programming languages \u200b\u200b(Java, Javascript and Python). Besides this, it offers a convenient functionality to manage baselines by applying artificial intelligence. Basically, it gives you the option to let Oculow decide for itself if there are visual bugs in the captured image or if the interface has changed. You can read more about it in the <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/www.oculow.com\/documentation\/index.html#baseline-management\" target=\"_blank\">Oculow documentation<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Improve_UX_with_Automated_Visual_Regression_Testing\"><\/span><strong>Improve UX with Automated Visual Regression Testing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ultimately, it&#8217;s clear that visual regression tests have a lot of potential since they allow us to test applications with a visual approach that we cannot achieve with other types of tests. In this way, we achieve a very important level of coverage against errors that we wouldn&#8217;t normally detect that directly affect the user experience. Incorporating these tests is a practice that I&#8217;d definitely recommend to any tester, especially because of the great importance that their results mean for the user experience.<\/p>\n\n\n\n<p>Have you tried automated visual regression testing or plan to? Tell me about your experience in the comments!<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Recommended_for_You\"><\/span>Recommended for You<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a rel=\"noreferrer noopener\" aria-label=\"Quality Sense Podcast: Anand Bagmar - What You Should Know About Visual Testing  (opens in a new tab)\" href=\"https:\/\/abstracta.us\/blog\/podcast\/visual-testing\/\" target=\"_blank\">Quality Sense Podcast: Anand Bagmar &#8211; What You Should Know About Visual Testing<\/a><br><a href=\"https:\/\/abstracta.us\/insights\/guide-continuous-testing\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"The Ultimate Guide to Continuous Testing (opens in a new tab)\">The Ultimate Guide to Continuous Testing<\/a><\/p>\n\n\n\n<p><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Detecting errors that automated functional tests often miss Generally when we think of bugs in software, failures and unexpected behavior due to errors in the system logic come to mind. In part, by running (and automating) functional tests, we seek to detect these errors as&#8230;<\/p>\n","protected":false},"author":55,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60,61],"tags":[143,295],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v14.0.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Automated Visual Regression Testing: Why Do It and How? | Abstracta<\/title>\n<meta name=\"description\" content=\"In this post, Luis Zambra explains what automated visual regression testing is, advantages and disadvantages, and some tips to make it more worthwhile.\" \/>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automated Visual Regression Testing: Why Do It and How? | Abstracta\" \/>\n<meta property=\"og:description\" content=\"In this post, Luis Zambra explains what automated visual regression testing is, advantages and disadvantages, and some tips to make it more worthwhile.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AbstractaQA\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-10T22:15:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-05T21:25:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/12\/Copy-of-blog-min-min.png\" \/>\n\t<meta property=\"og:image:width\" content=\"560\" \/>\n\t<meta property=\"og:image:height\" content=\"315\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AbstractaUS\" \/>\n<meta name=\"twitter:site\" content=\"@AbstractaUS\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/abstracta.us\/blog\/#website\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Blog about AI-powered quality engineering for teams building complex software | Abstracta\",\"description\":\"AI-powered quality engineering\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/abstracta.us\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/abstracta.us\/wp-content\/uploads\/2020\/12\/eliott-reyna-qtMasDNcPQo-unsplash-1-min-1024x749.jpg\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/#webpage\",\"url\":\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/\",\"name\":\"Automated Visual Regression Testing: Why Do It and How? | Abstracta\",\"isPartOf\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/#primaryimage\"},\"datePublished\":\"2020-12-10T22:15:36+00:00\",\"dateModified\":\"2025-05-05T21:25:48+00:00\",\"author\":{\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/3cc530c545cab16fae6829f65fe4419e\"},\"description\":\"In this post, Luis Zambra explains what automated visual regression testing is, advantages and disadvantages, and some tips to make it more worthwhile.\",\"breadcrumb\":{\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/\",\"url\":\"https:\/\/abstracta.us\/blog\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/\",\"url\":\"https:\/\/abstracta.us\/blog\/test-automation\/\",\"name\":\"Test Automation\"}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/\",\"url\":\"https:\/\/abstracta.us\/blog\/test-automation\/automated-visual-regression-testing\/\",\"name\":\"What is Automated Visual Regression Testing and Should You Invest in It?\"}}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/abstracta.us\/blog\/#\/schema\/person\/3cc530c545cab16fae6829f65fe4419e\",\"name\":\"Abstracta Team\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/abstracta.us\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6cab9c9f3dec946bd8867fdb2abbd10a?s=96&d=blank&r=g\",\"caption\":\"Abstracta Team\"},\"description\":\"We are a technology solutions company specializing in software testing, custom software development, and AI-driven software solutions. We provide top-notch, holistic solutions to enable continuous delivery of high-quality software. Our purpose is to co-create first class software, generating opportunities for development in our communities to improve people's quality of life. Organizations such as BBVA Financial Group, CA Technologies and Shutterfly turn to us for comprehensive quality solutions, from rigorous testing to innovative AI copilots and bespoke software development. Sharing our learnings with the community is rooted in our values. That is why we believe in collaborating with the IT community by sharing quality content, courses, and promoting thought leadership events. Recognized with several awards, we are committed to quality, innovation, and customer satisfaction. Our experienced team, dedicated to continuous learning and improvement, has earned the trust of numerous clients worldwide, from startups to Fortune 500 companies. We are a fast-growing company, and we are looking for proactive and talented people, who can assume responsibilities, bring new ideas, and who are as excited as we are about our mission of building high-quality software. If you are interested in joining the team, apply here https:\/\/abstracta.us\/why-us\/careers.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/13791"}],"collection":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/comments?post=13791"}],"version-history":[{"count":22,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/13791\/revisions"}],"predecessor-version":[{"id":14407,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/13791\/revisions\/14407"}],"wp:attachment":[{"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/media?parent=13791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/categories?post=13791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abstracta.us\/blog\/wp-json\/wp\/v2\/tags?post=13791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}