Course Description
This advanced level workshop is designed to teach participants how to develop the architecture for a functioning test automation framework within Appium.
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 Appium 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 Appium
- Abstractions from the Code, reusable code
Framework Generations
- Generation 1: (Record & Playback within a mobile environment)
- Generation 2: (Custom code focused - Java and Appium libraries)
- Generation 3: (Frameworks - Appium 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
- Android/iOS Record & Playback (generation 1) example. Appium does not provide robust Record & Playback features but this example will examine some alternatives.
- Observe the OOP style used to capture elements from a UI Window
Object Spy – Utilizing the Appium inspector
Create a POM structure for the sample App
Create a POM structure for a mobile App
DAY 2:
Appium mobile Locators and Identifiers for Names, IDs, XML, XPath, Accessibility IDs, and Classes
Different methods for executing Appium tests
Appium with Java and TestNG
- Configuring Build Path
- Setting up TestNG in Eclipse
- Understanding TestNG annotation and test case flow
- Fundamentals of Java for Appium/Webdriver programming
- Error Handling
- Packaging the Appium solution using Maven
Debugging techniques for Appium tests
Understanding Test Driven Development (TDD) and how to support it with Appium
Understanding User Acceptance Testing (UAT) and how to support it with Appium
Understand how to leverage Java Reflection and Appium 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 Appium tests in parallel