Selenium: Testing and Automaion

Learn advanced techniques to test web applications using the Selenium WebDriver API and related tools.
[learndash_login]

Exploring the testing and automation toolset, improving the development cycle.

Selenium is largely used to test applications, but its usages are not limited to testing. It can also be used to perform screen scraping and automate repetitive tasks in a browser window. Selenium supports automation on all the major browsers, including Firefox, Internet Explorer, Chrome, Safari, and Opera. Selenium WebDriver is now a part of W3C standards and is supported by major browser vendors.

Simplifying the testing process through efficient optimization

learn how to test web applications effectively with Selenium WebDriver on desktops, mobile web browsers, and in a distributed environment.
Along with the core features of Selenium WebDriver, we’ll also cover design patterns such as data-driven testing, page objects, and object maps, to design a highly maintainable and reliable test automation framework. You will also learn how to integrate Selenium WebDriver with ATDD/BDD, build and continuous integration tools, and perform mobile web testing with Appium.
Industry statistics
Median base salary 17,500 INR
India job openings/month 11,937
Source: Glasdoor’s Best Jobs (2024)

What skill will you learn ?

Selenium course overview

Getting Started

Demonstrates how to set up Selenium WebDriver with Eclipse, Maven, or ANT for test development on a Java platform. Then it shows how to set up Visual Studio, Ruby, and Python for test development. This module also shows how to set up various browsers for testing.
  • Configuring the Selenium WebDriver test development environment
  • Using Ant for the Selenium WebDriver test execution
  • Configuring Microsoft Visual Studio for Selenium WebDriver
  • Configuring Selenium WebDriver for Python and Ruby
  • Setting up Internet Explorer Driver Server
  • Setting up ChromeDriver for Google Chrome
  • Setting up Microsoft WebDriver for Microsoft Edge

Finding Elements

Introduces you to the locator techniques supported by Selenium WebDriver to find elements on pages in your web applications. Selenium WebDriver provides a number of techniques to find elements on web pages with multiple locator strategies such as XPath, CSS, and DOM.
  • Using browser tools for inspecting elements and page structure
  • Finding an element using the findElement method
  • Finding elements by tag name
  • Finding elements using XPath
  • Finding elements using CSS selectors
  • Locating elements using text
  • Finding elements using advanced CSS selectors
  • Using jQuery selectors

Working with Elements

Demonstrates how to use the Selenium WebDriver API to automate interaction with various types of UI elements used in web applications, including textboxes, buttons, dropdowns, radio buttons, checkboxes, and tables.
  • Automating textboxes, text areas, and buttons
  • Checking an element’s text
  • Checking an element’s attribute and CSS values
  • Automating dropdowns and lists
  • Checking options in the Select element
  • Automating radio buttons and radio groups
  • Automating checkboxes
  • Working with WebTables

Working with Selenium API

Demonstrates how to use the Selenium WebDriver API to build tests. We will explore the API and investigate advanced user interactions to perform complex mouse and keyboard operations and work with various types of UI elements used in web applications.
  • Checking an element’s presence
  • Checking an element’s state
  • Using Advanced User Interactions API for mouse and keyboard events
  • Performing double-click on an element
  • Performing drag-and-drop operations
  • Working with context menus
  • Executing the JavaScript code
  • Capturing screenshots with Selenium WebDriver
  • Maximizing the browser window
  • Handling session cookies
  • Working with browser navigation
  • Working with WebDriver events

Synchronizing Tests

Demonstrates how to use the Selenium WebDriver API to handle synchronization with implicit and explicit waits to implement robust and reliable tests.
  • Synchronizing a test with an implicit wait
  • Synchronizing a test with an explicit wait
  • Synchronizing a test with custom-expected conditions
  • Synchronizing a test with FluentWait

Working with Alerts

Frames and Windows, demonstrates how to handle multiple windows, pop-ups, and alerts that are displayed during test execution.
  • Handling a simple JavaScript alert box
  • Handling a confirm and prompt alert box
  • Identifying and handling frames
  • Working with IFRAME
  • Identifying and handling a child window
  • Identifying and handling a window by its title
  • Identifying and handling a pop-up window by its content

Data-Driven Testing

Introduces the data-driven testing approach—a widely used methodology in test automation. Selenium WebDriver does not have built-in features to support data-driven testing. However, we can extend the Selenium WebDriver API to support data-driven testing. This module covers recipes to support data-driven testing using JUnit, TestNG, and Apache POI to read data from spreadsheets.
  • Creating a data-driven test using JUnit
  • Creating a data-driven test using TestNG
  • Reading test data from a CSV file using JUnit
  • Reading test data from an Excel file using JUnit and Apache POI
  • Creating a data-driven test in NUnit
  • Creating a data-driven test in MSTEST
  • Creating a data-driven test in Ruby
  • Creating a data-driven test in Python using DDT

Using the Page Object Model

Introduces the Page Object model pattern, which is widely used for structuring Selenium WebDriver tests. This module provides examples and tips on how to build testing frameworks using the Page Object model pattern.
  • Using the PageFactory class for exposing an operation on a page
  • Using the LoadableComponent class
  • Implementing nested Page Object instances
  • Implementing the Page Object model in .NET
  • Implementing the Page Object model in Python
  • Implementing the Page Object model in Ruby using the page-object gem

Extending Selenium

Demonstrates how to extend the Selenium WebDriver API and add features to build a scalable test automation framework. This module covers some of the important recipes in extending Selenium WebDriver for various practical scenarios such as to support custom UI controls, capture images of elements, and perform image-based verifications.
  • Creating an extension class for web tables
  • Creating an extension for the jQueryUI tab widget
  • Implementing an extension for the WebElement object to set the element attribute values
  • Implementing an extension for the WebElement object to highlight elements
  • Creating an object map for Selenium tests
  • Capturing screenshots of elements in the Selenium WebDriver
  • Comparing images in Selenium
  • Measuring performance with the Navigation Timing API

Testing HTML5 Web Applications

Introduces you to using Selenium WebDriver to test web applications using the HTML5 standard. This module explains how to test video and canvas elements and the web storage API of HTML5.
  • Automating the HTML5 video player
  • Automating interaction on the HTML5 canvas element
  • Web storage – testing local storage
  • Web storage – testing session storage
  • Cleaning local and session storage

Behavior-Driven Development

Introduces behavior-driven development with Selenium WebDriver, using tools such as Cucumber-JVM, SpecFlow.NET for .NET, Behave for Python, and Capybara for Ruby.
  • Using Cucumber-JVM and Selenium WebDriver in Java for BDD
  • Using SpecFlow.NET and Selenium WebDriver in .NET for BDD
  • Using Capybara, Cucumber, and Selenium WebDriver in Ruby
  • Using Behave and Selenium WebDriver in Python

Integration with Other Tools

Demonstrates how to set up Selenium WebDriver with Jenkins to run tests in Continuous Integration using Maven and ANR. This module also covers recipes to use tools such as AutoIt and Sikuli to test non-web UI.
  • Configuring Jenkins for continuous integration
  • Using Jenkins and Maven for Selenium WebDriver test execution
  • Using Ant for Selenium WebDriver test execution
  • Using Jenkins and Ant for Selenium WebDriver test execution
  • Automating a non-web UI in Selenium WebDriver with AutoIt
  • Automating a non-web UI in Selenium WebDriver with Sikuli

Cross-Browser Testing

Demonstrates how to set up a distributed test environment with Selenium Grid for cross-browser testing. We will add nodes with various browser and operating system combinations.
  • Setting up Selenium Grid Server for parallel execution
  • Adding nodes to Selenium Grid for cross-browser testing
  • Creating and executing the Selenium script in parallel with TestNG
  • Creating and executing the Selenium script in parallel with Python
  • Using Cloud tools for cross-browser testing running tests in the Cloud
  • Running tests in headless mode with PhantomJS

Testing Applications on Mobile Browsers

Introduces you to testing mobile web applications with the Apple iOS and Android platforms using Appium. This module covers recipes to configure and use Selenium WebDriver to test a mobile web application on iPhone and Android-based devices/simulators.
  • Setting up Appium for testing mobile applications
  • Testing mobile web applications on iOS using Appium
  • Testing mobile web applications on Android using Appium

What you will receive

7 credit points at beginner certification level

Credits are awarded on passing the final assessment. Find out how academic credit points work and where you can use them in our - Terms and Services.

A Certificate of completion from The RouteFabric Academy

The certificate can be used in your resume to validate the skills that have been gained during the course journey.

Ready for this learning Journey

We regularly update our courses, as, we strive to provide the latest concepts and best practices , thus creating an impeccable learning experience for our alumni.

Updated on

17 January 2024

Find out more

Not sure if this course is right for you? Fill in your details below and we will send you more information to help you make a decision.
By clicking submit, I agree to LearnAlumni’s Terms & Conditions and Privacy Policy.

LearnAlumni’s purpose is to transform access to education.

Sign up to our newsletter and we'll send fresh new courses and special offers direct to your inbox.
You can update your preferences and unsubscribe at any time.
Transform you career to new heights
Sign up for our newsletter and we’ll send special offers direct to your inbox.