
Discover why Cypress and cucumber BDD are in demand for automated user interface testing. See how Cypress delivers time travel, automatic waits, and logs while cucumber formats clear scenarios.
Explore how the Cypress project hosts code and documentation on GitHub, review the main project, its codebase, and available resources to quickly familiarize yourself with core projects.
Install Visual Studio Code to set up a development environment for creating Cypress tests, download the installer, and complete the setup on Windows.
Install git bash on Windows and integrate it as the terminal in Visual Studio Code, then verify node installation and switch the Visual Studio Code terminal to Git Bash.
Install Chrome and Firefox and keep them up to date to prepare for automation testing with Cypress and Cucumber BDD, and confirm versions under help and about in each browser.
Install and configure the open jdk so java commands are recognized, download openjdk 11, extract, set java_home and path, and verify with java -version across windows, mac, and linux.
Install and manage VS Code extensions to support automation testing, including the Material Icon V and Prettier, then format code and refresh the window after changes.
Install and configure the cyprus cucumber preprocessor, then set up VS Code to recognize feature files and step definitions. Learn to edit settings.json and package.json to map steps to actions.
Explore how Cucumber and Gherkin describe software behavior with feature files, scenarios, and given/when/then steps, and see how step definitions link tests within a Cucumber-driven automation framework.
Create a positive contact form test in Cypress with Cucumber BDD by mapping steps, typing into fields with robust selectors, submitting the form, and asserting the success message.
Explore cucumber expressions for mapping step definitions and parameterizing contact form data with strings in given-when-then steps, enabling dynamic first name, last name, email, and message inputs.
Learn to implement Cucumber step definitions using regular expressions to pass first name, last name, email, and comments from feature files into tests, replacing hard-coded values with parameters.
Use scenario outlines to parameterize usernames and passwords with an examples table, reducing duplication. Each row in the examples table becomes a test scenario via scenario outline and examples keywords.
Learn to build scalable, data-driven tests in cucumber BDD within Cypress by using scenario outlines and examples to validate contact us form submissions.
Map scenario outline steps with the examples table to create three data-driven scenarios, each row representing a scenario, and make first and last names dynamic with regular expressions.
Learn to implement cucumber-based scenario outlines in Cypress, using dynamic XPath selectors and a Cypress XPath plugin to validate success and error messages on the contact form.
Use the background keyword to centralize preconditions and common steps across scenarios, reducing duplication, so every scenario navigates to the home page and clicks the contact us button.
Create a feature file with two login scenarios—valid and invalid—by entering a username and password and clicking login on the web driver University dotcom login portal, with optional alert validation.
Create a new login feature file in the e2e folder, using a scenario outline to validate valid and invalid credentials on the Web Driver University ecommerce login page.
Map and implement step definitions for a login feature using cucumber with regex, scenario outlines and examples, handling undefined steps and adjusting behavior to open URLs in the same tab.
Map and implement step definitions in a Cucumber BDD workflow with Cypress to automate a login flow, handle JavaScript alerts, and validate outcomes using a stop and stub approach.
Create and manage custom scripts in package.json to run Cypress with Cucumber BDD, targeting or excluding tags, and executing specific feature files in headed or headless mode.
Explore tag driven custom scripts in package.json to run Cypress with Cucumber BDD, including headless mode, multiple tags, smoke and regression packs.
Learn to generate cucumber html reports in the Cypress workflow by enabling html in the packaged json, configuring the output folder, and viewing the cucumber html report with scenarios.
Learn to generate multiple cucumber html reports from json data using the multi Cucumber html reporter, configure report paths and metadata, and run reports in a ci environment.
Learn to attach screenshots to Cucumber multi reports, generate HTML and JSON reports for CI, install a plugin, and update support code in a Cypress with Cucumber BDD setup.
Learn how to use hooks and base steps in Cypress with Cucumber, centralize setup and teardown, leverage before and after hooks, tags, and page object modeling for robust test design.
Learn to use before and other hooks in Cypress with Cucumber, place hooks in step files, centralize logic in a base steps file, and wait for seconds.
Create and reuse custom commands in Cypress to centralize common click logic, remove target attributes, and pass selectors as parameters, improving maintainability and reducing repetition.
Elevate test automation with page objects that extend a base page to model home page elements, navigate to the Web Driver University home page, and centralize selectors for maintainability.
Apply the page object model to modularize the home and login pages, create a login page object, and navigate directly to the login page to streamline steps and improve maintainability.
Apply page object modeling to refactor login and contact us flows, centralizing selectors and actions, and implement reusable page objects for navigation, input, and submission validations.
Demonstrates implementing a contact us page object in Cypress, using its methods to type first name, last name, email, and message, then validate header texts for success or error.
This course uses the latest versions of Cypress (v11+) & Cucumber BDD [October 2022]
Why Cypress?
Cypress is a JavaScript End to End Testing Framework that is very popular and is rapidly growing in popularity due to its great features and ease of use.
Why Cucumber BDD?
Cucumber BDD (Behaviour-driven development) much like 'Cypress' is a technology which is growing in popularity by the day and is used by organisations across the globe. Cucumber BDD captures test requirements in a simplistic manner, making it easy not only for 'Non technical parties/people' to understand scenario's which have been automated, but also assists the process of building effective automation frameworks and tests.
Why this course?
This course is designed to be quick, effective, efficient and easy to follow. I have been teaching for several years on Udemy with over 6 highly successful courses to date. I have refined this course using proven teaching techniques. This course is carefully structured from start to finish and I provide downloadable code examples after each coding lecture.
What does this course cover?
You will learn how to rapidly create simplistic and sophisticated Automated UI Tests using Cypress.
Learn the importance of Cucumber BDD (Behaviour-driven development).
Learn how to effectively and effortlessly capture test (Scenario) requirements using Cucumber BDD.
Gain knowledge of 'Gherkin', Cucumber's language parser.
Know why and when to use specific Gherkin Keywords such as 'Feature', 'Given', 'When', 'And', 'Then' and more!
Learn the differences between 'Scenario's' & 'Scenario Outlines'.
Learn how to simplify tests using specific Cucumber BDD Features such as the 'Background' keyword.
Gain the knowledge to insert and modify test data directly within Feature File(s).
Learn how to correctly map Test Requirements to actions using Cucumber Step Definitions and Cypress.
Become familiar with 'Tags' and learn how we can target and execute specific tests (Scenario's).
Understand the importance of Design Patterns such as Page Object Modelling (POM).
Learn best practises such as DRY (Don't Repeat Yourself).
Learn how to create Sophisticated Reports (HTML Reports, JSON Reports, Multi Reports) and more!
Learn how to leverage 'Hooks' and 'Custom Commands'.
Learn Continuous Integration using Jenkins and explain why this is very useful.
Become familiar with important add-ons for Jenkins.
Ability to create visually appealing reports within Jenkins and attach images to those reports.
Learn how to handle Extensible Choice Parameters (Selection Dropdown lists) via Jenkins.
And much more!