Selenium Training—Advanced Framework Development Workshop

Course Description

This advanced level workshop is designed to teach participants how to develop the architecture for a functioning test automation framework within Selenium.


Duration

3 day(s)

Time

9 - 5 PM

Price

$2,205

Labs

This workshop is offered as a series of hands-on “projects” that require participants to understand overall framework design considerations, then use this knowledge to design and architect a reusable and expandable testing framework.


Intended Audience

This is an advanced-level workshop for automated test engineers and software developers.


Prerequisites

1 -2 years minimum background in programming (e.g. Java or similar language) and/or scripting and a thorough understanding of Selenium features and functions.


Outline

DAY 1:

Why is a Framework important?

  • How to quickly react to changes in the app
  • How to handle object property changes within Selenium
  • Abstractions from the Code, reusable code

Framework Generations

  • Generation 1: (Record & Playback with Selenium Add-ons)
  • Generation 2: (Custom code focused - Java and Selenium libraries)
  • Generation 3: (Frameworks - Selenium POM and Keyword)

Framework Structures

  • Page Object Model (POM)
    • Pages
    • Test-Suite (template format)
  • Keyword Driven Approach - Use external data source to drive the automation code (CSV, Excel, or Database)

Java and Object Oriented Concepts

Creating a simple App

  • Understand what impact developers have on automation from the UI
  • Selenium Record & Playback (generation 1) example
  • Observe the OOP style used to capture elements from a UI Window

Object Spy – Tools to view object properties

Create a POM structure for the sample App

Create a POM structure for a Web App

DAY 2:

Selenium web Locators and Identifiers for HTML, XML, XPath, CSS and DOM

Different methods for executing Selenium tests

Selenium with Java and TestNG

  • Configuring Build Path
  • Setting up TestNG in Eclipse
  • Understanding TestNG annotation and test case flow
  • Fundamentals of Java for Webdriver programming
  • Error Handling

Debugging techniques Selenium tests

Understanding Test Driven Development (TDD) and how to support it with Selenium

Understanding User Acceptance Testing (UAT) and how to support it with Selenium

Understand how to leverage Java Reflection and Selenium to create a Keyword driven structure

Adding an HTML Report

DAY 3:

Common automation hindrances and how to overcome them

  • Test sync points
  • Running automated tests in a particular order
  • Pesky Pop-up boxes/Windows

Applying the framework to a new application:

  • Creating a checklist
  • Create a new Test
  • Create new classes to match the pages within the application

The Selenium Grid

  • Executing the same test on multiple browsers