Selenium WebDriver JavaScript
The web testing standard
Selenium WebDriver has become the standard tool for automated web testing. It has received an endorsement from W3C (World Wide Web Consortium), the community which works on web standards development and Selenium 4 is W3C compliant. It is open-source and provides a powerful set of tools for testing your web site. It is available on any platform and can be used with just about any web browser, including remote execution via Selenium Grid.
You can also integrate it into a huge variety of frameworks such as Cucumber, SpecFlow, Mocha etc, as well as testing frameworks such as NUnit, xUnit, JUnit, MSTest etc., and use your choice of assertion libraries. It also integrates very easily into Continuous Integration Tools such as Jenkins, Azure DevOps, TeamCity etc.
Our Course
Our Selenium JavaScript course is very comprehensive, and covers all you need to know about Selenium WebDriver JavaScript. It includes in-depth topics on locators (critical to reliable tests), Page Object Models, integration into CI tools. It also covers topics on Selenium Grid/Server and Selenium IDE.
Technologies Used
- Microsoft Visual Studio Code, Mocha, Chai, NodeJS & npm, WebDriverJS
Delivery
The course can be taken online or on-site at your offices. For the online training, it is live, instructor-led and we use GoToTraining for our virtual classroom environment. All delegates receive a very comprehensive workbook.
The online course is over 5 days, with each day being approximately 3.5 hours of online training. For classroom training it is a 3 full day course.
Course Overview
Introduction to JavaScript
An overview of the History & Terms, Basic Syntax, Browser Dev Tools & the Console
JavaScript in the IDE
IDEs, VS Code, Node & Npm, Setting up the workspace, executing JS, VS Code features.
First Test Case – WebDriverJS
What is Selenium? Selenium Projects, installing WebDriverJS and Browser drivers, creating our first script
Object Identification
Element locator strategies, Chrome Developer Tools and other extensions, Regular Expressions, Index, Xpath functions
Simple WebDriver Tests
Creating a simple test, execution & failures, debugging tools
Synchronisation
JavaScript Asynchronous nature, Callbacks, Promises, Async/Await, Adding Delay, Implicit versus Explicit Waits, common examples
Asserts
Node Asserts, Chai Asserts, Chai Styles, installing and using Chai
Mocha
What is Mocha? Why use Mocha, Installation, using Mocha, Mocha Options, Hooks, Mocha Timeouts, Execution options
Reporting
Mocha –report option, installing and using Mochawesome, writing to the results
Helper Libraries
Reusable code, writing, exporting & importing methods from modules, Common examples
Introducing Page Objects (POM)
Introduction to why we do it and how it reduces maintenance. Refactoring our tests to use a page object model. Developing a library of pages (POMs)
Handling Web Elements
Handling Web Tables, Drop-Down lists, executing JavaScript in the Browser, Keyboard input & more
Cross-Browser Testing
Using different Browsers, remote execution with Selenium Grid
Source Control
Integrating VS Code with Git & GitHub, adding our project to Source Control
Continuous Integration
Command-line execution, integration with Jenkins or Azure DevOps
Parallel Execution
Parallel execution using Mocha and Azure DevOps
Related Courses: