Mobile Testing (Appium) Professional Table of Contents


Introduction to Appium and Course

  • Course Agenda
  • Appium Features
  • Appium Internal Architecture

Appium Installation Instructions for Windows and Mac

  • Download Java, Android Studio, and Node Software for Appium Setup
  • Set Environment Variable Paths of All Software in Windows
  • Set Environment Variable Paths of All Software in MAC
  • Configure Android Virtual Device/Emulator and Install Appium Server
  • Setting Up Appium Maven Project with Java Client Dependencies

Getting Started with Mobile Testing Using Appium Code

  • What are Desired Capabilities and the First Program to Invoke the App
  • What is UIAutomatorViewer and How it Helps Inspect Objects in Android Apps

In-Depth Understanding of Android Native Apps Automation with Appium

  • Automating app UI Using Xpaths and Text Attributes
  • Appium APIs for UI Interaction with IDs and classNames
  • Handling Multiple Similar Objects of Apps with Indexes
  • AndroidUIAutomator Usage in Identifying Objects of Apps
  • TouchActions in Appium (Gestures Automation -1)
  • Tapping and Long Press Events (Gestures Automation -2)
  • Touch Actions Sequence Execution
  • Strategy for Automating Swiping Event (Gestures Automation -3)

Advanced Gestures Automation with Key Events Handling Using Appium

  • Demo on Swiping the Clock - Practice Exercises
  • How to Automate Scrolling? Gestures Automation -5
  • Drag and Drop on Native Apps with Appium (Gesture Automation -6)

Automation on Real Android Device Apps with Appium and Its Rules

  • Configuring a Real Device to System to Run Appium Tests
  • Exercises on Real Device - Native Apps Automation

Real-Time Ecommerce App – End to End Practice Exercises

  • Introduction to App Features and Test Cases to Automate
  • Test Case in Filling the Form Details for Shopping
  • Verifying Toast Messages for Error Validations
  • Test Case - Scrolling in Product List Example with Appium Android Scroll
  • Test Case - Dynamically Selecting Product by Scanning List Based on Text
  • Test Case - Validating the Orders in Checkout Page
  • Test Case- Validating Total Amount Generated Functionality
  • Code Optimization with User-Defined Functions

Hybrid App Automation with Appium to Switch from Apps to Web Browser

  • Test Case - Validating Mobile Gestures of App ( Tap, Long Press)
  • How to Handle Objects When Rendered in Web View
  • Test Case -Automate Hybrid App with Context Switch

Mobile Chrome Browsers Automation with Appium – Real-Time Examples

  • Desired Capabilities to Run Appium Tests on Mobile Browser
  • How to Inspect Chrome Mobile Browser Locators - Tips and Tricks
  • How to Scroll and Put Assertions on Browser Tests with Appium

Getting Started with iOS Automation Using Appium on MAC

  • Install Xcode and Iphone 12 Simulator
  • Define IOS Desired Capabilities and Invoke the App Through Code
  • Inspect IOS Objects with Appium Inspector

Automate iOS Advance Gestures Functionalities with Appium

  • Automate Scrolling on IOS Apps
  • Appium IOS Automation Part 5 - Automate Picker Wheels (Dropdowns)
  • Appium IOS Automation -Automate Sliders with IOS Element Class
  • Strategy in Working with IOS Gestures and App Download
  • Performing Long Press Events with IOS Touch Action Class
  • Performing Tapping Events with IOS Touch Action Class

iOS Real Device Automation Testing Guidelines with an Example

  • Install Software for Real Device Automation
  • UDID, XcodeOrgId Generation for Real Device Testing
  • Bundle Id Generation and Running the Tests

Framework Learning Plan

  • How to Start Learning from This Course

Appium Framework – Part 1 – Learn TestNG Basics

  • TestNG Installation and Setup in Eclipse
  • Run Basic TestNG Tests with Test Annotation
  • Testing Xml File Configuration and Its Importance
  • Prioritizing the Test Cases with TestNG
  • Include and Exclude Mechanism to Control Test Cases
  • Executing the Test Cases at Package Level with regex
  • TestNG Annotations - Part 1
  • TestNG Annotations - Part 2
  • Usage of Groups Functionality in TestNG
  • Annotation's Helper Attributes with Examples
  • Parameterizing from TestNG xml File
  • DataProvider Annotation -Parameterizing Test Cases - 1
  • DataProvider Annotation -Parameterizing Test Cases - 2
  • Listeners Interface in TestNG Framework
  • Running Tests in Parallel and Generating Reports

Framework Part 2 – Maven (Build Management Tool)

  • Introduction to Maven
  • Configuration of Maven
  • Creating Maven Project and Understanding its Terminologies
  • Understanding POM.xml File and Its Dependencies
  • Importance of surefirePlugin in Executing Tests
  • Integration of TestNG with Maven
  • Switching the Tests with Maven Profiling

Framework Part 3 – Jenkins – Continuous Integration Tool

  • Importance of Jenkins in Test Frameworks
  • Install and Configure Jenkins
  • Configuring Jenkin Settings and Workspace

Pageobject Pattern and Page Factory

  • What is Page Object Model?
  • Page Factory Annotations FindBy
  • Practical Example Explaining Page Factory Model-1
  • Practical Example Explaining Page Factory Model-2
  • Appium Hybrid Framework Design Part – 1 (Design Patterns)
  • Maven Project Template Creation with Workspace Setup
  • Configuring Dependencies of the Project in Pom.xml
  • Creating Driver Base class for Framework
  • Initializing Smart Global Properties from Config Properties File
  • Converting Project into TestNG and Eliminating Hardcoded Paths
  • Implementing Page Objects for Tests in Framework

Appium Hybrid Framework Design Part – 2 (Building Utilities)

  • Make Tests Objects Independent to Drive from Object Classes
  • Start and Stop Appium Server Programmatically Through Java
  • Building Common Utilities for Appium Server Invoke Code
  • Starting Emulator on Fly Through Code with User Inputs
  • Fixing Framework Bug by Debugging Code

Reporting and CI/CD Integration for the Appium Framework – Part 3

  • Capturing Screenshot on Test Failures Using TestNG Listeners
  • Generating Excellent Client Html Reports for Test Execution
  • Parameterizing Test Data from External Sources Using Data Provider
  • Convert Project to Maven Compatible by Updating pom.xml
  • Sending Global Properties from Maven Commands into Tests
  • Integrating Framework Repo into Jenkins CI Tool

Running Appium Framework on the Cloud Servers with Parallel Execution

  • How to Utilize Cloud Infrastructure such as Browser Stack to Run Appium Tests
  • Run Tests on Cloud by Building Generic Capabilities Utility in the Framework
  • Run Appium Tests in Parallel on Cloud with TestNG xml Changes

Understanding Version Control System GIT

  • Introduction to GIT
  • Importance of GitHub and its Uses
  • Creating Git Config and Repositories
  • How to Push Code to Remote Repository
  • Understanding Staging and Commit in Git
  • Add Remote Repository and Push the Committed Code
  • End to End Working Example on Git Commands -1
  • End to End Working Example on Git Commands -2
  • Importance of Branching in GIT
  • How to Resolve Merge Conflicts with GIT

Database Connection to Selenium/Appium Test Cases

  • Steps to Connect Database to Selenium Test Cases
  • MySQL Download Instructions
  • MySQL Server Connection Procedure
  • Creating Database in MySQL Server
  • Creating Tables in Databases
  • JDBC ODBC Connection Overview
  • Integration of Database with JDBC API
  • Steps to Connect Database Info to Selenium - 1
  • Steps to Connect Database Info to Selenium - 2

Java OOPS Basics for Appium/Selenium

  • Java First Program Basics
  • Java Program Principles
  • Classes and Objects in Java
  • Strings in Java
  • Interface Concepts
  • Practical Usage of Interface
  • Runtime Polymorphism
  • Inheritance Concepts
  • Practical Usage of Inheritance
  • Coding Basics-1
  • Coding Basics-2
  • Introduction to Arrays
  • Single-Dimensional and Multidimensional Arrays Usage
  • Examples of Arrays
  • Array Interview Questions
  • Programming Example
  • Reverse String -Interview Question
  • Date Class Concepts
  • Working with Calendar Objects in Java
  • Access Modifiers Basics
  • How Constructor Plays a Crucial Role
  • Types of Constructors and Their Usage

Defect Tracking Tool

  • Defect Management tool- Bugzilla
  • Bugzilla Features- Logging a Bug
  • Bugzilla Features -Search Mechanism for Tracking Bugs
  • Common Practices in Bugzilla Tool
  • Bugzilla Preference Feature

Apply for Certification

 For Support