
Explore how Webdriver IO, built on node.js, automates modern web apps with JavaScript and Selenium under the hood, guiding JavaScript fundamentals to designing a JavaScript test framework.
Install Node.js and npm to run WebDriver IO tests, set the node home path, verify with node -v, and initialize a WebDriver IO project using mocha and chrome.
Install and open Visual Studio Code, load the WebDriver IO project, review package.json for dependencies like CLI and Mocha, run npm install to populate node_modules, and enable autocomplete with jsconfig.json.
Master JavaScript fundamentals for automation testing by building a hello world program in VS Code, running it with Node.js, and exploring variables, comments, and types with var, let, and const.
Explore JavaScript data types by creating string, number, and boolean variables, and checking their types. Learn var, let, and const usage, and handling null and undefined, redeclaration, reassignment, and operators.
Master JavaScript loops and conditions, including if, else if, while, and do while, with const booleans and negation examples for automation testing.
Explore how to implement for and while loops in JavaScript, compare when to use each, and build examples that print multiples, evaluate conditions, and apply break logic.
Master arrays in JavaScript with detailed examples, covering declaration (let or var), zero-based indexing, accessing and updating elements, and using push, pop, and unshift to modify arrays.
Explore JavaScript arrays with practical examples of indexOf, includes, slice, and for loops; learn to sum elements, derive sub arrays, and preview reduce, filter, and map.
Demonstrate using reduce to sum array elements with an accumulator, compare it to a for loop, and show filtering even numbers with filter, with map as the next topic.
Explore map, filter, and reduce to transform arrays, chaining them to filter even numbers, multiply each by three, and sum the results in one line.
Sort any JavaScript array using the sort method for strings or numbers, with custom logic via anonymous functions; implement ascending and descending orders, including a recursive bubble sort approach.
Learn how to declare and call functions in JavaScript, compare named and anonymous functions, use parameters and return values, and apply arrow function shorthand for cleaner code.
Explore how var, let, and const differ in scope across global, function, and block levels, and how re-declaration and re-initialization work, with ES6 guidance for safer automation code.
Master JavaScript string manipulation by concatenating strings with the plus operator and using indexOf with a while loop to count all occurrences of a substring in the string.
discover how JavaScript objects are collections of properties defined as key‑value pairs, access them with dot or array-like notation, and update, add, or delete properties like first name and gender.
Explore how ES6 introduces classes in JavaScript, using constructors, instance variables, and getter properties to model objects and access attributes with the new operator.
Export a class with module.exports, import it with require, and instantiate objects to reuse methods across files, enabling page object patterns in automated testing.
Explains how inheritance in JavaScript works using extends, super, and constructors to let a child class reuse and override a parent's properties and methods, with a pet example.
Generate a WebDriverIO spec file template from scratch, structure tests with mocha describe/it blocks, and configure a Chrome browser to open the login page and print its title.
Master how JavaScript's asynchronous behavior impacts WebDriverIO automation and use async/await with promises in Node.js to run steps sequentially.
Learn how WebDriverIO's inbuilt expect assertions verify page titles with exact and containing checks using async/await. Explore CSS selectors and actions like setValue to automate inputs.
Learn to locate password fields using attributes like id, name, and class in WebDriverIO, apply export syntax, set values, click login, and capture error messages for robust UI automation.
Explore dynamic waiting with waitUntil in WebDriverIO to detect error messages, compare it with fixed sleeps, and use a condition based on a button's value attribute to proceed.
Learn to validate browser text with WebDriverIO assertions using exact and partial matches. Use selectors like tag name or CSS and apply expect.stringContaining for partial text.
Develop a happy path sign-in test with WebDriverIO by validating a valid username and password, waiting for navigation, and asserting the post-login e-commerce page via url and title checks.
Learn to run tests in Firefox and Microsoft Edge using WebDriver IO by changing the browser name in the test runner and verifying successful sign-in on each browser.
Learn radio button handling in WebDriverIO with JavaScript array logic, using $ for multiple elements, indexing to select user, and chaining locators from parent to child.
Learn to handle web pop ups with WebDriverIO by waiting for the modal, using locators, cancel actions, and assertions to verify selection and popup visibility.
Learn to handle static dropdowns in WebDriverIO by selecting options by attribute value, visible text, or index, and verify the current selection using get value.
Install chai and configure its expect extension for string and boolean comparisons in WebDriverIO tests of radio buttons and dropdown options.
Adapt to the latest WebDriverIO updates by understanding the new event concatenation before each step. Reinforce core WebDriverIO concepts and async/await to run JavaScript UI automation tests.
Automate dynamic dropdowns with WebDriverIO by retrieving all displayed options, matching the India entry, and clicking the correct item using a common locator and iterative logic.
Master handling checkboxes with WebDriverIO, including selecting by index when multiple matches exist, validating whether a checkbox is selected, and saving page screenshots for debugging.
Learn to scroll to bring a hidden element into view, hover to reveal options, and click the top link using WebDriverIO in functional tests, with strategies for reliable headless execution.
Learn to handle JavaScript alerts with WebDriverIO by triggering a double-click, detecting browser alerts at the browser level, retrieving alert text, making assertions, and accepting the alert.
Learn to apply and validate sorting of web tables using WebDriverIO and Node.js, by clicking the column header, extracting and comparing text arrays, and asserting correct order.
Debug WebDriverIO code with Visual Studio Code, set launch.json and breakpoints. Avoid mutating originals by using slice to copy arrays before sorting.
Automate a web table filter using WebDriverIO and Node.js by entering a search term, validating the filtered results count, and asserting the displayed text matches the input.
Learn to handle multiple windows and frames in WebDriverIO by switching between parent and child windows with getWindowHandles and switch to window, then return to the parent when done.
Learn how to manage multiple windows in WebDriverIO, distinguishing switchWindow for automation-opened browsers from switchToWindow for app-opened ones, and how to open, switch, and validate parent, child, and new windows.
Develop end-to-end functional automation with WebDriverIO and Node.js by logging in, selecting products, validating cart totals, checking out, and refactoring into a page object model.
Explore end-to-end functional automation with WebDriverIO and Node.js by selecting products, adding to cart via parent-child selectors, handling waits, and proceeding to checkout.
Identify a locator and traverse from parent to child elements to collect price data for automation; use JavaScript streams to map, clean currency symbols, convert to numbers, and sum prices.
Explore end-to-end functional automation with WebDriverIO and Node.js, using filter, map, and reduce on streams to compute totals and verify results via promise-based assertions.
Learn end-to-end web automation with WebDriverIO and Node.js, including autosuggest handling, dynamic waits for not exist, selecting India, submitting checkout, and assertion-based success verification as preparation for page object mechanism.
Build an end-to-end WebDriverIO framework from scratch, covering page object design, data-driven tests from json files, and cross-browser parallel execution with capabilities.
Adopt the page object design pattern in WebDriverIO and Node.js from scratch to centralize login locators, create page-specific classes, and build reusable login methods that streamline test maintenance.
Implement page object design patterns for tests in WebDriverIO with Node.js, refactoring locators and alerts using getters and awaits. Configure package.json for CommonJS to support require and page object tests.
Apply page object pattern to refactor the end-to-end test by creating a shop page object, moving login and add-to-cart logic into reusable methods, and passing product data from tests.
Learn to refine end-to-end tests using the page object pattern by building a review page, summing products, formatting total price, and validating against the confirm page.
Use mocha to parameterize WebDriverIO tests and drive test data from JSON files, enabling data-driven login tests with multiple datasets.
Parameterize end-to-end tests using Mocha and JSON data files, enabling data-driven test runs with multiple product datasets, avoiding hard-coded values and validating cart totals.
What is WebDriverIO?
WebdriverIO allows you to automate any application written with modern web frameworks such as React, Angular, Polymeror Vue.js as well as native mobile applications for Android and iOS.
WebDriverIO built on Node.js engine and Uses JavaScript to code the Automation
WebdriverIO uses Selenium under hood. All the great things about Selenium are available in WebDriverIO with additional advantage of exclusive assertions for Test Validations.
How is this Course Designed?
· This course starts from Scratch by teaching all the Java Script Fundamentals needed for Test Automation
· We will then drive into WebDriverIO Core topics and cover All the concepts to handle UI Automation with real time examples and quizzes
· We shall also learn how to design Industry Standard WebDriver+Node.js Framework from Scratch with all best practices used.
Additionally this course also train students on Node.js Basics , Mocha, Chai Testing Frameworks
So what makes this course Unique in the Market?
We assume that students have no experience in automation / coding and start every topic from scratch and basics.
Examples are taken from REAL TIME HOSTED WEB APPLICATIONS to understand how different components can be automated.
By end of this course, one can automate any Web Application using WebDriverIO JavaScript and can gain the ability to design JavaScript Test frameworks from scratch for the developed automation tests.