What you’ll learn: WebdriverIO Automate Front-End Web Application Testing
Learn how to plan for automated tests and use best practices
Learn to use WebdriverIO to automate web applications
Learn to use the Mocha unit testing framework with Chai assertions
Learn to use tools including GIT, GITHUB, Node, Chrome Developer Tools, Visual Studio Code, Mocha, Chai, and WebdriverIO
Windows or Mac computer
Basic HTML and CSS skills are recommended but not required
All software used is free
WebdriverIO Automate Front-End Web Application Testing Description
Learning to automate web application testing shouldn’t be hard!
In this course, I will be guiding you through the steps needed to create front-end web application test automation using WebdriverIO. We will be using Version 5 of WebdriverIO in this course.
What is front-end web application test automation?
The “front-end” refers to the user interface. Or in the case of web applications, the web site. Everything that you can see and interact with is part of the front-end.
We automate the front-end to simulate the user experience of someone using the application. Through automation, we can pretend to be a user to ensure our site is working as expected.
What do I need to know to be successful in this course?
This course is designed for entry-level engineers. I will be going over everything that you need to get started being successful as a test automation engineer.
But here are a few things that will help in your journey:
- Experience with manual testing of web applications
- OK HTML and CSS experience (I will briefly review the essential parts for this course)
The most important thing to be successful is that you need to do the work. Don’t skip videos unless you are 100% sure you know the material. It would be best if you coded right along with me every step of the way.
Why we need front-end test automation?
Test automation of any kind is in high demand. The days of the manual test engineer is quickly coming to an end. Companies want to deliver code more often and faster.
What does that mean?
The development cycle to build, test, and release code is becoming shorter. Having a constant delivery cycle is forcing teams to integrate automation into every part of the process.
The significant parts of the cycle that need to be automated are:
- Unit Testing
- Regression Testing
QA is responsible for integration testing.
One of the most time-consuming parts of the development cycle is regression testing. Teams spend hours or days re-testing features that they have already tested hundreds of times.
Changes in the codebase can cause downhill effects on other features. Things break all the time. Never assume the code is always going to work! For these reasons, we build automated tests.
Why use WebdriverIO?
- The most common question I get asked when building test automation is, why not just use Selenium?
- WebdriverIO is using a custom implementation of Selenium’s Webdriver…
- What does that mean?
It means that you are using Selenium. But with WebdriverIO, you get a lot of extras that make creating tests faster and easier than if you use Selenium.
What we will cover:
- Preparing for automated testing
Who should do the automation, and with what tools?
They are using open-source tools and applications in our testing. Tools include GIT, GITHUB, Node.js, Chrome Developer Tools, Visual Studio Code, Mocha, Chai, and WebdriverIO.
- Automating web applications interactions without a framework
- Using the Mocha unit testing framework to test your code
- Node.js and Chai assertions
- Coding standards with ESLint and Prettier
- Writing automated tests that interact with the most common web-application elements
- Adding validations to our tests
- Configuring tests to run against different browsers or test environments
- Using Allure reports to generate beautiful reports that include screenshots and videos
Build a repository to showcase your skills
We will be utilizing GIT and GITHUB to create repositories for our more significant projects. The goal is that I want you to have good quality examples that you can easily share with your boss or future employers.
I look forward to having you join my class!
- Beginner QA engineers looking to learn web application test automation
- Development teams looking to add front-end automation tests
I’m a senior QA engineer with over ten years of experience in building QA teams. My experience includes software testing of web and mobile apps, test automation, and a bit of front-end web and mobile development. I want to share my knowledge with you to be successful in your career and help your teams produce great applications.