Course Catalog
Remote Test Automation with Selenium Web Driver and Selenium Grid (TT3619)
Code: TT3619
Duration: 4 Day
$2495 USD

OVERVIEW

Remote Test Automation with Selenium Grid provide students with a solid understanding of practical automation concepts using Selenium, the WebDriver API, the Selenium server, and Selenium Grid to drive consistent functional and non-functional tests that are performed remotely and can be parallelized. Students will learn the core API, tools, and how to work with them together to create powerful testing harnesses. Student will then migrate a set of Selenium tests into a remote testing environment, implementing parallelized testing and, eventually, using Cloud-based Grids to run the tests.

DELIVERY FORMAT

This course is available in the following formats:

Virtual Classroom

Duration: 4 Day
Classroom

Duration: 4 Day

CLASS SCHEDULE
Call 800-798-3901 to enroll in this class!

GOALS

Students who attend Automated Web Testing with Selenium Driver will leave the course armed with the skills required to recognize how to test web applications for sufficiency. This course uses Selenium and the WebDriver interface to design and implement tests. The student will work with a sample Web Application that requires several testing scenarios.

This “skills-centric” course is about 50% hands-on lab and 50% lecture, designed to train attendees in core Selenium and web testing skills, coupling the most current, effective techniques with the soundest industry practices. Working in a hands-on environment led by our expert practitioner students will:

  • Understand web page testing needs and how Selenium meets those needs
  • Analyze a web application from a functional and testing perspective
  • Use Selenium constructs to locate elements on a web page
  • Test web page forms and the elements in those forms
  • Use test suites to organize and manage tests
  • Review Java constructs needed to by testers in working with WebDriver
  • Design code and run automated Selenium tests using the Java WebDriver API
  • Use the WebDriver API to test advanced web features such as delayed responses and Ajax
  • Using a combination of JUnit 5 features and WebDriver to consume streams of data for testing
  • Focus on Best Practices for Selenium testing using the Java WebDriver API
  • Work with Selenium server and webdriver-manager to run tests
  • Setup and run a Selenium Grid to run a set of Selenium tests
  • Setup and run Selenium tests in parallel in a Selenium Grid
  • Setup and run Selenium tests in a Cloud solution (if students have internet access)
  • An overview of how it all works in Continuous Integration
OUTLINE

Session: Selenium Basics Quick Refresher

Lesson: Introduction to Selenium

  • Selenium Concepts and Components
  • Manual Testing using Selenium
  • Automated Testing using Selenium
  • Java, Testing Frameworks, and Selenium WebDriver

Session: Testing with Java and Selenium WebDriver

Lesson: JUnit 5 for Selenium

  • What JUnit brings to the table
  • JUnit Method Lifecycle
  • Test setup and teardown
  • Parameterized tests
  • Assertions

Lesson: Selenium WebDriver

  • Working with WebDriver in Java
  • Finding Spots on Web Pages
  • Working with different browsers
  • Built-In Locators

Lesson: WebDriver Deep Dive

  • WebDriver Commands for working with forms
  • Working with complex form components
  • Taking screenshots
  • Working with alerts

Lesson: Advanced WebDriver

  • Use WebDriver to work with windows, tabs and iframes
  • Utilize Actions class for mouse and keyboard actions
  • Testing file uploads and downloads
  • Testing AJAX elements
  • Waiting for events to happen
  • Feeding data sets into a testing sequence

Session: Selenium Practices and Processes

Lesson: Selenium Best Practices

  • Preparation
  • Managing Names
  • Multiple Browser Testing
  • High Quality Tests and Test Plans
  • Using Whitespace
  • Efficient Operations
  • Establish Selenium Standards

Lesson: Testing Strategies and Patterns

  • Types of web application tests
  • Strategies for locating elements
  • Wrapping Selenium calls
  • User interface maps

Session: Extending WebDriver Testing

Lesson: Page Object Model (POM)

  • POM Design Pattern
  • Principles and Design of Page Object classes
  • Object Repository for Locators
  • Page Factory Overview
  • Page Factory Caching

Lesson: Introduction to Selenium Frameworks

  • Automation Framework Basics
  • Data Driven Framework
  • Keyword Driven Framework
  • Hybrid Framework

Session: Remote Testing with Selenium Grid

Lesson: Remote Testing

  • Working with Selenium Server
  • Using the webdriver-manager
  • Shifting from local to remote

Lesson: Selenium Grid Basics

  • Architecture of Selenium Grid
  • Hub: Command and Control
  • Node: Testing Instance
  • Configuring and Running a Selenium Grid
  • Working with RemoteWebDriver

Lesson: Running Tests in Parallel

  • The Advantages of Parallelism
  • The Challenges of Parallelism
  • Running Parallel Tests in Grid and JUnit
  • Dealing with Parallel States

Lesson: Working with Grid

  • Troubleshooting Grids
  • Best Practices for Working with Grid
  • Challenges with Windows Nodes
  • When Not to use Selenium Grid

Lesson: Extending Selenium Grid

  • Selenium Grid Providers and Solutions
  • Selenium Grid with Docker
  • Zalenium
  • What is Coming in Selenium

Session: Selenium Basics Quick Refresher

Lesson: Introduction to Selenium

  • Selenium Concepts and Components
  • Manual Testing using Selenium
  • Automated Testing using Selenium
  • Java, Testing Frameworks, and Selenium WebDriver

Session: Testing with Java and Selenium WebDriver

Lesson: JUnit 5 for Selenium

  • What JUnit brings to the table
  • JUnit Method Lifecycle
  • Test setup and teardown
  • Parameterized tests
  • Assertions

Lesson: Selenium WebDriver

  • Working with WebDriver in Java
  • Finding Spots on Web Pages
  • Working with different browsers
  • Built-In Locators

Lesson: WebDriver Deep Dive

  • WebDriver Commands for working with forms
  • Working with complex form components
  • Taking screenshots
  • Working with alerts

Lesson: Advanced WebDriver

  • Use WebDriver to work with windows, tabs and iframes
  • Utilize Actions class for mouse and keyboard actions
  • Testing file uploads and downloads
  • Testing AJAX elements
  • Waiting for events to happen
  • Feeding data sets into a testing sequence

Session: Selenium Practices and Processes

Lesson: Selenium Best Practices

  • Preparation
  • Managing Names
  • Multiple Browser Testing
  • High Quality Tests and Test Plans
  • Using Whitespace
  • Efficient Operations
  • Establish Selenium Standards

Lesson: Testing Strategies and Patterns

  • Types of web application tests
  • Strategies for locating elements
  • Wrapping Selenium calls
  • User interface maps

Session: Extending WebDriver Testing

Lesson: Page Object Model (POM)

  • POM Design Pattern
  • Principles and Design of Page Object classes
  • Object Repository for Locators
  • Page Factory Overview
  • Page Factory Caching

Lesson: Introduction to Selenium Frameworks

  • Automation Framework Basics
  • Data Driven Framework
  • Keyword Driven Framework
  • Hybrid Framework

Session: Remote Testing with Selenium Grid

Lesson: Remote Testing

  • Working with Selenium Server
  • Using the webdriver-manager
  • Shifting from local to remote

Lesson: Selenium Grid Basics

  • Architecture of Selenium Grid
  • Hub: Command and Control
  • Node: Testing Instance
  • Configuring and Running a Selenium Grid
  • Working with RemoteWebDriver

Lesson: Running Tests in Parallel

  • The Advantages of Parallelism
  • The Challenges of Parallelism
  • Running Parallel Tests in Grid and JUnit
  • Dealing with Parallel States

Lesson: Working with Grid

  • Troubleshooting Grids
  • Best Practices for Working with Grid
  • Challenges with Windows Nodes
  • When Not to use Selenium Grid

Lesson: Extending Selenium Grid

  • Selenium Grid Providers and Solutions
  • Selenium Grid with Docker
  • Zalenium
  • What is Coming in Selenium
LABS

This hands-on course focuses on ‘learning by doing’, combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world labs and exercises. Student machines are required.

This hands-on course focuses on ‘learning by doing’, combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world labs and exercises. Student machines are required.

WHO SHOULD ATTEND

Developers, Web Developers, Testers, Test Engineers, QA, Technical Managers.

PREREQUISITES

This is an intermediate level course, geared for Test Engineers, Quality Assurance Engineers, and their management who have prior knowledge of Selenium basics. Code examples are in a combination of the specific domain-specific languages and Java, so some experience in object-oriented development with Java is expected.