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 ET
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
The target audience for this course includes: - Automated test engineers
- 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