Appium 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 Appium.


3 day(s)


9 - 5 ET




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


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.


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