{"id":512671,"date":"2022-09-01T15:58:10","date_gmt":"2022-09-01T14:58:10","guid":{"rendered":"https:\/\/www.devoteam.com\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/"},"modified":"2022-09-01T15:58:10","modified_gmt":"2022-09-01T14:58:10","slug":"practical-guide-to-end-to-end-testing-with-cypress","status":"publish","type":"expert-view","link":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/","title":{"rendered":"A Practical Guide to End-to-End Testing with Cypress"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/GettyImages-628107874_Edited-1-scaled.jpg\" alt=\"\" class=\"wp-image-17304\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The front-end is the client-side part of your application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Everything that is visible to your users is part of the front-end.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To put it in other words \u2014 front-end testing is about graphical user interface (GUI) testing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So you get a better picture, if you are developing an online shopping platform, frontend testers check whether the look and feel of the website are aligned with the requirements. Also, they make sure things work properly and feel the way the user experience designer envisioned it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-is-front-end-testing-so-important\">Why is front-end testing so important?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Well\u2026 because our <a href=\"https:\/\/devoteam.info\/cz\/digital-business-products-2\/\" target=\"_blank\" rel=\"noreferrer noopener\">end users<\/a> judge the book by its cover and have no clue about the back-end side of things, they only notice when there\u2019s some issue they can see. Hence problems in the UI stick out and get noticed immediately. A company that wants to be successful thus needs to provide a great and consistent user experience. This means making sure that the application runs fast and without error, no matter which device or browser is used.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is automated front-end testing?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Probably you are already familiar with manual testing. For example, you have implemented an input field into a form. Afterwards, you open the webpage click into the input field to check whether it works and submit the form. This was a manual test. Performing this test for everything you implement over and over again is tiresome and not scalable. At a certain point, you would have no time to implement anything anymore and would spend all day testing. This is where automatization comes into play. Using automated concepts we can be sure that features will continue to work as they should.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Automated tests also help especially with so-called edge cases. Use cases we tend to forget, like checking a box for some signup process.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What are the top reasons to automate testing?<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Update your code with confidence!<\/strong> Good tests allow you to refactor code with confidence that you are not breaking any functionality and without changing the tests.<\/li>\n\n\n\n<li><strong>Documentation included, for FREE!<\/strong> Tests come in handy because they explain how your code works with its expected behaviour. Tests, not like written documentation often, have to be always up to date.<\/li>\n\n\n\n<li><strong>Bugs are gone forever \u2014 almost!<\/strong> By writing up test cases for every bug, you can be sure that these will never come back. Further writing tests will improve your understanding of the code and the requirements. Using testing you might find issues that you could miss otherwise.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">What is being tested in front-end testing?<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>UNIT TESTS<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">These are focused on the smallest entity of your front-end applications.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usually, these are components in the React context, but cover interfaces, classes and methods. These simple and small tests check whether the output of a small part equals the expected. The checks are predefined and completely isolated.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>INTEGRATION TESTS<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Like the name suggests, these type of tests put multiple code components together and test their interaction. In React these are usually built of views that integrate multiple components.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>END-TO-END TESTS<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">These tests are the holy grail since they are testing the application. Let&#8217;s dive in a littler further on end-to-end testing. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is end-to-end testing?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">End-to-end testing or user interface testing is an approach to testing a web application. An end-to-end test verifies that a web application meets the requirements and works as expected. The so-called &#8220;user flow&#8221; is tested. End-to-end testing is important! But nobody likes it&#8230;They can be extremely cumbersome and very time-consuming. On the other hand, only testing can provide confidence in the final product. In the end, testing ensures that we don&#8217;t release a broken product to our users.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is Cypress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/techradar.devoteam.com\/digital-business-products\/cypress\" target=\"_blank\" rel=\"noreferrer noopener\">Cypress, featured on TechRadar<\/a> by Devoteam,  is a free, open-source automation testing tool built for modern web applications based on modern frameworks like React. It provides a UI to show what tests and commands are running, passing and\/or failing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>But isn\u2019t there Selenium? <\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Every developer has suffered before configuring Selenium. There are a multitude of steps, often extremely confusing, where we need compatible versions of Java, drivers, browsers, even Selenium itself, etc&#8230; It&#8217;s just exhausting! Not to mention that many front-end developers don&#8217;t necessarily want to use Java. Additionally, Cypress easily outperforms Selenium in terms of speed, reliability, and ease of use.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cypress Installation &amp; Configuration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cypress comes with some documentation dedicated to <a href=\"https:\/\/docs.cypress.io\/guides\/tooling\/visual-testing\/\">visual testing<\/a> and a list of all <a href=\"https:\/\/docs.cypress.io\/plugins\/#Visual%20Testing\">available plug-ins<\/a> to help configure it for visual regression testing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We decided to choose <a href=\"https:\/\/github.com\/meinaart\/cypress-plugin-snapshots\">cypress-plugin-snapshots<\/a> because of the ease of use and amount of time needed for the initial setup. There are many great tools &amp; libraries out there, so check them out!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We simply installed the npm library like so:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>npm install cypress<a href=\"https:\/\/github.com\/meinaart\/cypress-plugin-snapshots\"> cypress-plugin-snapshots<\/a><\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And this is how a&nbsp; cypress.json configuration can look:<\/p>\n\n\n\n<pre>{\n\u201cenv\u201d: {\n  \u201cTAGS\u201d: \u201cnot @ignore\u201d,\n  \u201ccypress-plugin-snapshots\u201d: {\n    \u201cautoCleanUp\u201d: true,\n    \u201cautopassNewSnapshots\u201d: true,\n    \u201cdiffLines\u201d: 3,\n    \u201cprettier\u201d: true,\n    \u201cimageConfig\u201d: {\n      \u201ccreateDiffImage\u201d: true,\n      \u201cresizeDevicePixelRatio\u201d: false,\n      \u201cthreshold\u201d: 0.025,\n      \u201cthresholdType\u201d: \u201cpercent\u201d\n    },\n    \u201cscreenshotConfig\u201d: {\n      \u201cblackout\u201d: [\u201c\u201d],\n      \u201ccapture\u201d: \u201cviewport\u201d,\n      \u201cdisableTimersAndAnimations\u201d: true,\n      \u201clog\u201d: true,\n      \u201cscale\u201d: false,\n      \u201ctimeout\u201d: 30000\n    }\n  }\n},\n\u201cbaseUrl\u201d: \u201chttp:\/\/localhost:9000\u201d,\n\u201cvideo\u201d: false,\n\u201cviewportWidth\u201d: 1920,\n\u201cviewportHeight\u201d: 1080,\n\u201ctestFiles\u201d: \u201c**\/*.feature\u201d,\n\u201crequestTimeout\u201d: 60000,\n\u201cignoreTestFiles\u201d: [\u201c**\/__snapshots__\/*\u201d, \u201c**\/__image_snapshots__\/*\u201d],\n\u201cchromeWebSecurity\u201d: false,\n}\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Why integrate Cucumber with Cypress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are several tools for a behavior-driven development framework, but the most commonly used BDD tool is <a href=\"https:\/\/cucumber.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cucumber<\/a>. BDD is a form of Test Driven Development (TDD). Human-readable descriptions of software requirements are used as the basis for tests. This approach helps us to write the tests in a common vocabulary for all project participants. For this reason, even someone without a developer background can get an idea of \u200b\u200bthe tests carried out.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cucumber with Gherkin<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For Cypress we can only write our tests in Javascript \/TypeScript. However, if we want to use Cucumber, we convert the Java Script test to &#8220;<a href=\"https:\/\/cucumber.io\/docs\/gherkin\/\" target=\"_blank\" rel=\"noreferrer noopener\">Gherkin<\/a>&#8221; (the language for Cucumber). Gherkin mainly consists of the four main keywords: &#8220;Given&#8221;, &#8220;When&#8221;, &#8220;And&#8221; and &#8220;Then&#8221;. Using the keywords we can use the already used JavaScript code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">JavaScript end-to-end tests in Cypress<\/h2>\n\n\n\n<pre> {\n  it(\u201cCan fill out the form\u201d, () =&gt; {\n    cy.visit(\u201c\/\u201d);\n    cy.get(\u201cform\u201d);\n    cy.get(\u2018input[name=\u201dname\u201d]\u2019)\n      .type(\u201cDavid\u201d)\n      .should(\u201chave.value\u201d, \u201cDavid\u201d);\n    cy.get(\u2018input[name=\u201demail\u201d]\u2019)\n      .type(\u201cdavid@devoteam.com\u201d)\n      .should(\u201chave.value\u201d, \u201cdavid@devoteam.com\u201d);\n    cy.get(\u201ctextarea\u201d)\n      .type(\u201cThis is a test\u201d)\n      .should(\u201chave.value\u201d, \u201cThis is a test\u201d);\n    cy.get(\u201cform\u201d).submit();\n  });\n});\n\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With just one look you can see that it will be very difficult for someone without developer knowledge to understand the pure test script.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The same with Cucumber and Gherkin<\/h2>\n\n\n\n<pre>\/\/integration\/formular\/form.ts\nimport { Before, Given, Then, When, And } from \u2018cypress-cucumber-preprocessor\/steps\u2019;\nGiven(\u201cWe visit the form page\u201d, ()=&gt;{\n    cy.visit(\u201c\/\u201d);\n    cy.get(\u201cform\u201d);\n});\nWhen(\u201cwe enter the name {String}\u201d, (name) =&gt; {\n    cy.get(\u2018input[name=\u201dname\u201d]\u2019)\n      .type(name)\n      .should(\u201chave.value\u201d, name);\n});\nAnd(\u201cwe enter the email {String}\u201d, (email) =&gt; {\n    cy.get(\u2018input[name=\u201demail\u201d]\u2019)\n      .type(email)\n      .should(\u201chave.value\u201d, email);\n});\nAnd(\u201cwe enter the comment {String}\u201d, (comment) =&gt; {\n    cy.get(\u2018textarea\u2019)\n      .type(comment)\n      .should(\u201chave.value\u201d, comment);\n});\nAnd(\u201cwe submit the form\u201d, () =&gt; {\n    cy.get(\u201cform\u201d).submit();\n});\nThen(\u201cwe are on the home page\u201d, () =&gt; {\n    cy.url().should(\u201cinclude\u201d,\u201dstart\u201d);\n});\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">The .feature test file<\/h2>\n\n\n\n<pre>Functionality:  Testing the form input\nScenario: F-01 Enter the form and submit\n Given we visit the form page\n When we enter the name \u201cDavid\u201d\n And we enter the email \u201cdavid@devoteam.com\u201d\n And we enter the comment \u201cThis is a Test\u201d\n And we submit the form\n Then we are on the home page<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/integration\/form.feature<br>#language: en<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Functionality<\/strong>:&nbsp; Testing the form input<br><strong>Scenario:<\/strong> F-01 Enter the form and submit<br><strong>Given <\/strong>we visit the form page<br><strong>When <\/strong>we enter the name &#8220;David&#8221;<br><strong>And <\/strong>we enter the email &#8220;david@devoteam.com&#8221;<br><strong>And <\/strong>we enter the comment &#8220;This is a Test&#8221;<br><strong>And <\/strong>we submit the form<br><strong>Then <\/strong>we are on the home page<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, if we now look at the test file with Cucumber, it becomes much simpler and more readable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Some final words<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cypress with Cucumber is a great test framework and in my opinion, has the following advantages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Easy to install and configure<\/li>\n\n\n\n<li>Faster by running the tests directly in the application<\/li>\n\n\n\n<li>Has a powerful real-time debugger<\/li>\n\n\n\n<li>Easy to write because JavaScript \u2014 no need for Java<\/li>\n\n\n\n<li>Useful and simple API<\/li>\n\n\n\n<li>Super detailed documentation<\/li>\n\n\n\n<li>Very active community<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How can I learn more?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This article is a part of a greater series centred around the technologies and themes found within the first edition of the TechRadar by Devoteam. To read further into these topics, please explore&nbsp;<a href=\"https:\/\/devoteam.info\/techradar\/\" target=\"_blank\" rel=\"noreferrer noopener\">the TechRadar by Devoteam<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-4b1fd674 wp-block-columns-is-layout-flex\" style=\"margin-top:var(--wp--preset--spacing--medium);margin-bottom:var(--wp--preset--spacing--medium)\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-container-core-column-is-layout-969dc29d wp-block-column-is-layout-flow\" style=\"padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;flex-basis:100%\">\n<div class=\"wp-block-cover is-light\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim\" style=\"background-color:#8476bb\"><\/span><img decoding=\"async\" class=\"wp-block-cover__image-background wp-image-8279\" alt=\"\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/digital-solutions.jpg\" data-object-fit=\"cover\"\/><div class=\"wp-block-cover__inner-container has-global-padding is-layout-constrained wp-block-cover-is-layout-constrained\">\n<p class=\"has-text-align-center has-large-font-size wp-block-paragraph\"><\/p>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-stretch has-gray-light-background-color has-background is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-group has-main-color has-gray-light-background-color has-text-color has-background has-link-color wp-elements-1 is-layout-flow wp-container-core-group-is-layout-23162e80 wp-block-group-is-layout-flow\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--medium);padding-right:var(--wp--preset--spacing--large);padding-bottom:var(--wp--preset--spacing--medium);padding-left:var(--wp--preset--spacing--large)\">\n<div class=\"wp-block-group is-vertical is-content-justification-left is-layout-flex wp-container-core-group-is-layout-4a15ae55 wp-block-group-is-layout-flex\" style=\"min-height:0px\">\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-text-align-left has-main-color has-text-color has-medium-font-size wp-container-content-42c95ffb wp-block-paragraph\">Want to learn more about Cypress?<\/p>\n\n\n\n<p class=\"has-text-align-left has-main-color has-text-color has-link-color has-base-font-size wp-elements-2 wp-block-paragraph\">Check out TechRadar by Devoteam to see what our experts say about its viability in the market.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-left is-layout-flex wp-container-core-buttons-is-layout-5446dffb wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/gcloud.devoteam.com\/generative-ai-use-cases-discovery-engine\/\">Discover more<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The front-end is the client-side part of your application. Everything that is visible to your users is part of the front-end. To put it in other words \u2014 front-end testing is about graphical user interface (GUI) testing. So you get a better picture, if you are developing an online shopping platform, frontend testers check whether [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","categories":[884],"tags":[],"industry":[2466],"class_list":["post-512671","expert-view","type-expert-view","status-publish","hentry","category-cloud-native-app-development-cz","industry-professional-services-cz"],"acf":[],"cards":"\n\t<div class=\"single-post-card\">\n\n\t\t\n\n\t\t\n\t\t<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-43282307 wp-block-group-is-layout-flex\">\n\t<p style=\"font-style:normal;font-weight:700\" class=\"has-link-color wp-elements-4 wp-block-lp-post-type has-text-color has-primary-color has-small-font-size\">Expert View<\/p>\n\n\t\t\n\t\t<h3 style=\"font-style:normal;font-weight:400\" class=\"wp-block-post-title has-base-font-size\"><a href=\"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/\" target=\"_self\" >A Practical Guide to End-to-End Testing with Cypress<\/a><\/h3><\/div>\n\t\t\n\t<\/div>\n\n","yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>A Practical Guide to End-to-End Testing with Cypress | Devoteam<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Practical Guide to End-to-End Testing with Cypress\" \/>\n<meta property=\"og:description\" content=\"The front-end is the client-side part of your application. Everything that is visible to your users is part of the front-end. To put it in other words \u2014 front-end testing is about graphical user interface (GUI) testing. So you get a better picture, if you are developing an online shopping platform, frontend testers check whether [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/\" \/>\n<meta property=\"og:site_name\" content=\"Devoteam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/expert-view\\\/practical-guide-to-end-to-end-testing-with-cypress\\\/\",\"url\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/expert-view\\\/practical-guide-to-end-to-end-testing-with-cypress\\\/\",\"name\":\"A Practical Guide to End-to-End Testing with Cypress | Devoteam\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/expert-view\\\/practical-guide-to-end-to-end-testing-with-cypress\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/expert-view\\\/practical-guide-to-end-to-end-testing-with-cypress\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/GettyImages-628107874_Edited-1-scaled.jpg\",\"datePublished\":\"2022-09-01T14:58:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/expert-view\\\/practical-guide-to-end-to-end-testing-with-cypress\\\/#breadcrumb\"},\"inLanguage\":\"en-CZ\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/devoteam.info\\\/cz\\\/expert-view\\\/practical-guide-to-end-to-end-testing-with-cypress\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CZ\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/expert-view\\\/practical-guide-to-end-to-end-testing-with-cypress\\\/#primaryimage\",\"url\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/GettyImages-628107874_Edited-1-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/GettyImages-628107874_Edited-1-scaled.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/expert-view\\\/practical-guide-to-end-to-end-testing-with-cypress\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert View\",\"item\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/expert-view\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"A Practical Guide to End-to-End Testing with Cypress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/#website\",\"url\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/\",\"name\":\"Devoteam\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/devoteam.info\\\/cz\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CZ\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A Practical Guide to End-to-End Testing with Cypress | Devoteam","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/","og_locale":"en_US","og_type":"article","og_title":"A Practical Guide to End-to-End Testing with Cypress","og_description":"The front-end is the client-side part of your application. Everything that is visible to your users is part of the front-end. To put it in other words \u2014 front-end testing is about graphical user interface (GUI) testing. So you get a better picture, if you are developing an online shopping platform, frontend testers check whether [&hellip;]","og_url":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/","og_site_name":"Devoteam","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/","url":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/","name":"A Practical Guide to End-to-End Testing with Cypress | Devoteam","isPartOf":{"@id":"https:\/\/devoteam.info\/cz\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/#primaryimage"},"image":{"@id":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/#primaryimage"},"thumbnailUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/GettyImages-628107874_Edited-1-scaled.jpg","datePublished":"2022-09-01T14:58:10+00:00","breadcrumb":{"@id":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/#breadcrumb"},"inLanguage":"en-CZ","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/"]}]},{"@type":"ImageObject","inLanguage":"en-CZ","@id":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/#primaryimage","url":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/GettyImages-628107874_Edited-1-scaled.jpg","contentUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/GettyImages-628107874_Edited-1-scaled.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/devoteam.info\/cz\/expert-view\/practical-guide-to-end-to-end-testing-with-cypress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devoteam.info\/cz\/"},{"@type":"ListItem","position":2,"name":"Expert View","item":"https:\/\/devoteam.info\/cz\/expert-view\/"},{"@type":"ListItem","position":3,"name":"A Practical Guide to End-to-End Testing with Cypress"}]},{"@type":"WebSite","@id":"https:\/\/devoteam.info\/cz\/#website","url":"https:\/\/devoteam.info\/cz\/","name":"Devoteam","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devoteam.info\/cz\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CZ"}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Julien Pawlowski","author_link":"https:\/\/devoteam.info\/cz\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"The front-end is the client-side part of your application. Everything that is visible to your users is part of the front-end. To put it in other words \u2014 front-end testing is about graphical user interface (GUI) testing. So you get a better picture, if you are developing an online shopping platform, frontend testers check whether&hellip;","_links":{"self":[{"href":"https:\/\/devoteam.info\/cz\/wp-json\/wp\/v2\/expert-view\/512671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devoteam.info\/cz\/wp-json\/wp\/v2\/expert-view"}],"about":[{"href":"https:\/\/devoteam.info\/cz\/wp-json\/wp\/v2\/types\/expert-view"}],"version-history":[{"count":0,"href":"https:\/\/devoteam.info\/cz\/wp-json\/wp\/v2\/expert-view\/512671\/revisions"}],"wp:attachment":[{"href":"https:\/\/devoteam.info\/cz\/wp-json\/wp\/v2\/media?parent=512671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devoteam.info\/cz\/wp-json\/wp\/v2\/categories?post=512671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devoteam.info\/cz\/wp-json\/wp\/v2\/tags?post=512671"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/devoteam.info\/cz\/wp-json\/wp\/v2\/industry?post=512671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}