Appium Training—Desktop Test Automation Workshop

Course Description

Why choose ALPI for Appium training?
  • We use certified live instructors in both our in-person and virtual classes so you can ask questions and get answers right away.
  • We focus on real-world examples.
  • We teach using interactive, hands-on exercises.
  • This ALPI course is eligible for a free refresher guarantee so you can re-take the course within 4 months at no additional charge. Contact us for information about this unique benefit that gives you peace of mind.

This workshop is designed to teach participants how the functionality of Appium and how to begin the process of building an automated framework.

Upon successful completion of the workshop, the candidate will receive a Certificate of Achievement.


4 day(s)


9 - 5 ET




This workshop is offered as a series of hands-on “projects” that require participants to understand, design, and implement components of an automated testing framework.

Intended Audience

The target audience for this course includes:
  • Automation testers
  • Automation developers


A background in programming (e.g. Java) and/or scripting and understanding of basic Appium features.


DAY 1:                      

Introduction to Appium

  • Why chose Appium?
  • Pros/Cons
  • Main Philosophy (4 principles that guided the Appium architecture)

Appium Structure

  • Appium's HTTP/JSON request/response Protocol
  • Client Libraries
  • Server Architecture
  • Rest API

Install and Configuration

  • Eclipse or Intelij (we will focus on Appium/Java libraries)
  • Appium components
  • Android SDK and emulators
  • Setting up client-libraries and Selenium (prerequisite for writing Appium test cases) 
  • Things you need to know before developing iOS scripts with Appium

Appium GUI

  • Difference between Windows & Mac (limitations you should know about)
  • Object Inspector
  • Android, iOS, General, Developer, and Robot settings
  • Starting and Stopping Appium server from code

DAY 2:

Identifying UI elements

  • Developing a sample Android application
  • Finding Elements with UIAutomator
  • Understanding the difference between iOS and Android elements
  • Understanding the UISelector Class
  • Implicit and Explicit Wait

Framework Design

  • Page Object Model (Appium community best practice)
    • Writing and executing suite of tests for your sample application using POM
    • Controlling test flows with TestNG’s xml capabilities and Maven projects
  • Understanding TestNG and tagging
  • TestNG for capturing results & reports
  • Client Libraries:
    • Java Exercise (this will be the main example throughout the class)
    • Python Exercise (example to demonstrate language-of-choice flexibilities)
  • Developing repeatable functions:
    • Testing the calculator application
    • Testing a simple text message
    • Test adding a new contact
  • Reorganizing POM into a Keyword framework

Drivers and Capabilities

  • How Appium leverages Selenium Webdriver
  • Understanding Web, Appium, iOS, and Android Drivers
  • How to decide which driver to instantiate
  • How to control Appium’s ‘Desired Capabilities’

DAY 3:

Touch Actions and Events- Handling user gestures with Appium

  • Drag and Drop
  • Android Input Key Events
  • Swipe Test
  • Scroll Test
  • Tapping an Element

Setting up Appium Execution Environment

  • Selenium Grid for parallel execution on multiple Emulators
  • Configuring devices & emulators
  • Batch processing and Shell scripts

DAY 4:

Framework Enhancements

  • Continue adding repeatable functions
  • Expanding test cases
  • Advance logic, reusable functions
  • Considerations for maintaining the framework for iOS and Android apps

Additional Topics

  • Deployment strategies
  • Running on Emulators vs. real devices vs. a device cloud
  • Appium Desktop
    • Differences between Appium CLI and Desktop
    • Pros and Cons of using Desktop