
Let me introduce myself.
Cypress components explained. Is it free?
Cypress pros explained.
Cypress cons explained.
Can I take the course even if I don´t know Typescript? YES, this is about Cypress and just knowing JavaScript is enough
Install development environment.
How to manage your project with VSCode
What is Node Package Manager & Package.json file?
If you want to work with Typescript, this dependency needs to be installed.
Install Cypress step by step.
Configuring the E2E testing type.
Print in the test runner a "hello world" message!
Can Javascript code be executed in my standard Cypress TS Framework? YES!
Configure your script to open the E2E testing type and desired browser.
We are set up.
Describe vs It in Mocha JS
Mocha Hooks #1
Mocha Hooks #2
Mocha tricks!
Visit a website using Cypress.io
Learn how to set a base url for your framework.
Using the mocha hook to visit a website in every each it.
Does Cypress return values? No, they yield the subject.
Getting the URL and validate it with a BDD assertion. (Not using .should(), will check why later)
Getting the HTML title and validate it with a BDD assertion. (Not using .should(), will check why later)
Let's review our first challenge.
How to find an element using Cypress? Cy.get () explained
Typing text using cy.type()
Clicking on a button using cy.click()
Use SHOULD when only need to make assertions instead of cy.then()
You are closer to master Cypress!
Why is it important to know about Locators?
Using Cy.Contains() with an example.
cy.get(), and cy.find() together.
Find an element by attribute using CSS selectors
Find an element by class using CSS selectors
Check more css selectors, it is essential.
What is an XPath in simple terms?
Find an element by its text using an XPath
Find an element by attribute using XPath.
Can you solve this challenge? In the next video, will see the solution.
XPath trick.
Running the challenge using Cypress and making an assertion.
Keep it up!
Why is it important this concept?
Handle visit automatic waiting time using different approaches.
Handle elements automatic waiting time using different approaches.
Wait until a progress bar reaches 100%.
Cypress best practices & advices.
Click challenges - Recap
Hover a link with Cypress could be challenging.
Find a value that always change in a table(row and column) could be tricky.
Use environment variables to have dynamic values depending on your needs
Public web sites we are going to use.
Setup an standard view for your viewport & framework.
Set different viewport sizes using a couple of secret configurations.
Checkboxes Challenge #1
Checkboxes Challenge #2
Learn how to emulate a double click and a right click with real buttons.
Let's review the scenarios we are going to cover in the next videos.
How to handle a link that opens in a new tab?
Remove target attribute.
Check if after clicking on a link that sends an API request, it has the response you are expecting.
Check this backup test site for more tests!
How to check if an image is broken or not?
Extra tips.
How to select a local file to upload it then? Check it out and learn how to do it.
You'll learn if your file was downloaded or not after clicking on a button
How to handle iframes with Cypress?
Type in an iframe could be a tricky task. Review how to handle it.
Up to date with Cypress 13.0.0 (the most recent versions are basically the same)
You will learn Cypress Automation Basics(E2E testing type only) from scratch with multiple scenarios and good practices.
Just JavaScript basic knowledge is necessary. I will develop examples using TypeScript, but If you understand JavaScript, you'll be capable to understand and develop your first TypeScript scripts with my support.
What is Cypress io?
Cypress test framework is becoming one of the BEST web automation frameworks to setup your test automation scripts for E2E testing and Component testing. It is a great tool because is pretty easy to install, maintain, and write test scripts. Also, you can easily configure it with the most known CI/CD tools in the market. Learn Cypress Test Automation Today!
Cypress overview & feature highlight:
Cypress comes with a beautiful test runner that is going to help you as a QA Engineer to debug your test scripts, travel back in time to see what happened during the execution, and is perfect to change between your scripts with a friendly UI.
But also, you do not need the test runner, you only need to run command to run a full suite and get an HTML report.
Cypress is changing fast, and part of my objetive is bring to my students the newest features, and good practices to the course.
Here are some high level topics that you will understand if you take this course:
Introduction: What is Cypress?
Installation and recommendations
What is Mocha? What is Chai?
How to get or visit a website
Find web elements by CSS or XPath locators
Retryability: No need of wait type configurations (as we used to do in Selenium WebDriver)
Actions(Click, hover, tables)
Real UI Scenarios: Viewport, Checkboxes, Buttons, Links, Broken Images, Download a file, Upload a File, Iframes, autocomplete,and so on.
Page Object Model vs Actions(Custom Commands)
Advanced scenarios: Cookies, Fixtures, Aliases, Share Context, Excel Handling, Database Testing(MySQL), debugging, etc)
Cypress dashboard integration and CI/CD parallel execution with GitHub Actions.
New content will be added with your requests. I am planning to also cover Docker, CI/CD, and Cucumber in the near future.
Note: Recording the course I was a bit nervous, and I made some English mistakes during the explanations. Hope you understand it, and check the notes with the corrections.