WebdriverIO
Behavior-Driven Testing
ABOUT THE WORKSHOP
WebdriverIO is an open-source, cross-browser automated testing framework built on WebDriver and Selenium. It is written in JavaScript or TypeScript and runs on Node.js. WebdriverIO is a popular testing automation tool for many organizations, including Google, Facebook, and Amazon.
This WebdriverIO & Behavior-Driven Testing training teaches attendees how to automate tests by translating acceptance criteria into feature and step files. Attendees learn how to test their web applications using Visual Studio Code (IDE), WebdriverIO, TypeScript, and Cucumber.
This workshop will take developers’ and engineers’ WebdriverIO skills to the next level. We use a hands-on lab environment to gain practical experience writing user stories and translating those acceptance criteria to feature and step files using WebdriverIO.
This course is for individuals wanting to learn the latest automation testing tools: Visual Studio Code (IDE), WebdriverIO, TypeScript, Cucumber, and much more.
Training Prerequisites
This course is intended for anyone interested in taking their WebdriverIO skills to the next level. Prior experience with BDD, Cucumber, and WebdriverIO is recommended.
Training Materials
All attendees receive electronic course materials and all code used/created in the class.
Learning Objectives
- Understand WebdriverIO configuration (wdio.conf.ts, package.json, wdio.conf.ts)
- Write effective Cucumber feature files.
- Understand best practices for Step-definition files.
- Learn WebdriverIO using TypeScript.
- Demonstrate hooks headless browser testing.
Outline
BDD & Testing Tooling Overview
- Webdriver, Selenium, WebdriverIO:
- Quick History
- How it all fits together
- WebdriverIO (WDIO)
- Typescript vs. Javascript (why we use Typescript)
WebDriver vs. Selenium vs. WebdriverIO
- Pros and Cons of each
WebdriverIO: Configuration & Setup
- Intro to Visual Studio Code & Extensions
- Project: Configuration
- Package.json – Setup
- WDIO – Testrunner
- Extension
WebdriverIO Overview: Module 1
- Feature Files: Cucumber and Gherkin Syntax
- Step-Definition
- Using CSS Selectors
- Chrome Inspection Tools
- Synchronous vs. Asynchronous – Understanding Asynchronous JS
- Assertions
- Expect
- Chai
- WDIO – Test Runner Demo
- Debugging WDIO Cucumber Tests
- Console Logs
- Lab: Our First Test (testing a login screen)
Using OpenAI with WebDriverIO (Optional)
- How to use OpenAI to write better-automated tests
- OpenAI as a paired programmer
- OpenAI for code reviews
WebdriverIO Overview: Module 2
- Removing Duplicates
- Scenario Outlines
- Advanced Pause, debugs
- Regex
- Defined
- Use Cases
- When to validated in the app
- When to use Regex
- When to validate via Typescript
- Using XPath
- Error Handling Best Practices
- Lab: Update Lab 1 to use Scenario Outline
More WebdriverIO configuration
- Tags & Hooks
- Running Headless Tests
- Configuring tests to run in different environments.
- Lab: Customize tags, environments variables, and running headless
Typescript
- Page Object Patterns
- Variables Introduction
- Conditional Statements
- Array Types
- And so much more…
Allure Reports
- Updates to Feature Files
- Configuring & Customizing
- Log Level – Parameters
- Lab: Continue
- Attaching Screenshots
- Autogenerate Reports
- Customized Reports
- Lab: Continue
Final Labs: Testing Contact Us Page (Advance final project)
- Pulling it all together
- Hands-on final lab
Remote Learning
Train virtually in the environment that works best for your teams.
Smaller Classes
Students learn faster in smaller groups that can be adapted to fit their needs.
Real World Expertise
Our trainers are not just great instructors but have active field experience.
OTHER AVAILABLE WORKSHOPS
Product Thinking (Lean startups & Design Thinking)
Takes our most popular Agile foundations course for Agile teams and incorporates…
Effective Facilitation
Takes our most popular Agile foundations course for Agile teams and incorporates…
Scrum Master Essentials
Takes our most popular Agile foundations course for Agile teams and incorporates…