Appium (Selenium)-Mobile Automation Testing from Scratch

Video description

Learn everything you need to know about mobile automation (Android+ IOS) even if you’ve never programmed before.

The high-level topics include the following:

-Appium features

-Appium internal architecture

-Configuration setup to run tests on Android and IOS simulators/emulators

-Configuration setup to run tests on Android and IOS real devices

-How to automate native (Android and IOS) apps using Appium

-In-depth explanation of Appium APIs/commands and their usage

-Mobile gestures automation, scroll, swipe, long press, tap, and touch actions using Appium

By the end of the course, you will be able to automate any (native, hybrid, web) apps in Android/IOS using Appium.

What You Will Learn

  • Automate any (Native, Hybrid, and Web) apps in Android/IOS using Appium
  • Understand Appium best practices for automating apps
  • Explore the coding standards in writing mobile automation scripts
  • Automate mobile browsers like Chrome and Safari
  • Learn how to verify toast messages for error validations
  • Configure a real device to system for running Appium tests

Audience

This course is for manual testers, non-programming testers interested in learning automation, web automation testers who are already aware of Selenium WebDriver, and any software engineer who is interested in mobile technologies.

About The Author

Rahul Shetty: Rahul Shetty is the founder and trainer at Rahul Shetty Academy. He is a passionate software tester and has 13 years of rich experience in the IT industry. He has completed more than 300 offline training batches. Rahul has extensive knowledge in web automation testing, mobile automation testing, and API automation testing. He has also worked with various CMM-level organizations and managed the set-up of QA processes for projects.

Table of contents

  1. Chapter 1 : Introduction to Appium and Course
    1. Course Agenda
    2. Appium Features
    3. Appium Internal Architecture
  2. Chapter 2 : Appium Installation Instructions for Windows and Mac
    1. Download Java, Android Studio, and Node Software for Appium Setup
    2. Set Environment Variable Paths of All Software in Windows
    3. Set Environment Variable Paths of All Software in MAC
    4. Configure Android Virtual Device/Emulator and Install Appium Server
    5. Setting Up Appium Maven Project with Java Client Dependencies
  3. Chapter 3 : Getting Started with Mobile Testing Using Appium Code
    1. What are Desired Capabilities and the First Program to Invoke the App
    2. What is UIAutomatorViewer and How it Helps Inspect Objects in Android Apps
  4. Chapter 4 : In-Depth Understanding of Android Native Apps Automation with Appium
    1. Automating app UI Using Xpaths and Text Attributes
    2. Appium APIs for UI Interaction with IDs and classNames
    3. Handling Multiple Similar Objects of Apps with Indexes
    4. AndroidUIAutomator Usage in Identifying Objects of Apps
    5. TouchActions in Appium (Gestures Automation -1)
    6. Tapping and Long Press Events (Gestures Automation -2)
    7. Touch Actions Sequence Execution
    8. Strategy for Automating Swiping Event (Gestures Automation -3)
  5. Chapter 5 : Advanced Gestures Automation with Key Events Handling Using Appium
    1. Demo on Swiping the Clock - Practice Exercises
    2. How to Automate Scrolling? Gestures Automation -5
    3. Drag and Drop on Native Apps with Appium (Gesture Automation -6)
  6. Chapter 6 : Automation on Real Android Device Apps with Appium and Its Rules
    1. Configuring a Real Device to System to Run Appium Tests
    2. Exercises on Real Device - Native Apps Automation
  7. Chapter 7 : Real-Time Ecommerce App – End to End Practice Exercises
    1. Introduction to App Features and Test Cases to Automate
    2. Test Case in Filling the Form Details for Shopping
    3. Verifying Toast Messages for Error Validations
    4. Test Case - Scrolling in Product List Example with Appium Android Scroll
    5. Test Case - Dynamically Selecting Product by Scanning List Based on Text
    6. Test Case - Validating the Orders in Checkout Page
    7. Test Case- Validating Total Amount Generated Functionality
    8. Code Optimization with User-Defined Functions
  8. Chapter 8 : Hybrid App Automation with Appium to Switch from Apps to Web Browser
    1. Test Case - Validating Mobile Gestures of App ( Tap, Long Press)
    2. How to Handle Objects When Rendered in Web View
    3. Test Case -Automate Hybrid App with Context Switch
  9. Chapter 9 : Mobile Chrome Browsers Automation with Appium – Real-Time Examples
    1. Desired Capabilities to Run Appium Tests on Mobile Browser
    2. How to Inspect Chrome Mobile Browser Locators - Tips and Tricks
    3. How to Scroll and Put Assertions on Browser Tests with Appium
  10. Chapter 10 : Getting Started with iOS Automation Using Appium on MAC
    1. Install Xcode and Iphone 12 Simulator
    2. Define IOS Desired Capabilities and Invoke the App Through Code
    3. Inspect IOS Objects with Appium Inspector
  11. Chapter 11 : Automate iOS Advance Gestures Functionalities with Appium
    1. Automate Scrolling on IOS Apps
    2. Appium IOS Automation Part 5 - Automate Picker Wheels (Dropdowns)
    3. Appium IOS Automation -Automate Sliders with IOS Element Class
    4. Strategy in Working with IOS Gestures and App Download
    5. Performing Long Press Events with IOS Touch Action Class
    6. Performing Tapping Events with IOS Touch Action Class
  12. Chapter 12 : iOS Real Device Automation Testing Guidelines with an Example
    1. Install Software for Real Device Automation
    2. UDID, XcodeOrgId Generation for Real Device Testing
    3. Bundle Id Generation and Running the Tests
  13. Chapter 13 : Framework Learning Plan
    1. How to Start Learning from This Course
  14. Chapter 14 : Appium Framework – Part 1 – Learn TestNG Basics
    1. TestNG Installation and Setup in Eclipse
    2. Run Basic TestNG Tests with Test Annotation
    3. Testing Xml File Configuration and Its Importance
    4. Prioritizing the Test Cases with TestNG
    5. Include and Exclude Mechanism to Control Test Cases
    6. Executing the Test Cases at Package Level with regex
    7. TestNG Annotations - Part 1
    8. TestNG Annotations - Part 2
    9. Usage of Groups Functionality in TestNG
    10. Annotation's Helper Attributes with Examples
    11. Parameterizing from TestNG xml File
    12. DataProvider Annotation -Parameterizing Test Cases - 1
    13. DataProvider Annotation -Parameterizing Test Cases - 2
    14. Listeners Interface in TestNG Framework
    15. Running Tests in Parallel and Generating Reports
  15. Chapter 15 : Framework Part 2 – Maven (Build Management Tool)
    1. Introduction to Maven
    2. Configuration of Maven
    3. Creating Maven Project and Understanding its Terminologies
    4. Understanding POM.xml File and Its Dependencies
    5. Importance of surefirePlugin in Executing Tests
    6. Integration of TestNG with Maven
    7. Switching the Tests with Maven Profiling
  16. Chapter 16 : Framework Part 3 – Jenkins – Continuous Integration Tool
    1. Importance of Jenkins in Test Frameworks
    2. Install and Configure Jenkins
    3. Configuring Jenkin Settings and Workspace
  17. Chapter 17 : Pageobject Pattern and Page Factory
    1. What is Page Object Model?
    2. Page Factory Annotations FindBy
    3. Practical Example Explaining Page Factory Model-1
    4. Practical Example Explaining Page Factory Model-2
  18. Chapter 18 : Appium Hybrid Framework Design Part – 1 (Design Patterns)
    1. Maven Project Template Creation with Workspace Setup
    2. Configuring Dependencies of the Project in Pom.xml
    3. Creating Driver Base class for Framework
    4. Initializing Smart Global Properties from Config Properties File
    5. Converting Project into TestNG and Eliminating Hardcoded Paths
    6. Implementing Page Objects for Tests in Framework
  19. Chapter 19 : Appium Hybrid Framework Design Part – 2 (Building Utilities)
    1. Make Tests Objects Independent to Drive from Object Classes
    2. Start and Stop Appium Server Programmatically Through Java
    3. Building Common Utilities for Appium Server Invoke Code
    4. Starting Emulator on Fly Through Code with User Inputs
    5. Fixing Framework Bug by Debugging Code
  20. Chapter 20 : Reporting and CI/CD Integration for the Appium Framework – Part 3
    1. Capturing Screenshot on Test Failures Using TestNG Listeners
    2. Generating Excellent Client Html Reports for Test Execution
    3. Parameterizing Test Data from External Sources Using Data Provider
    4. Convert Project to Maven Compatible by Updating pom.xml
    5. Sending Global Properties from Maven Commands into Tests
    6. Integrating Framework Repo into Jenkins CI Tool
  21. Chapter 21 : Running Appium Framework on the Cloud Servers with Parallel Execution
    1. How to Utilize Cloud Infrastructure such as Browser Stack to Run Appium Tests
    2. Run Tests on Cloud by Building Generic Capabilities Utility in the Framework
    3. Run Appium Tests in Parallel on Cloud with TestNG xml Changes
  22. Chapter 22 : Understanding Version Control System GIT
    1. Introduction to GIT
    2. Importance of GitHub and its Uses
    3. Creating Git Config and Repositories
    4. Understanding Staging and Commit in Git
    5. Add Remote Repository and Push the Committed Code
    6. End to End Working Example on Git Commands -1
    7. End to End Working Example on Git Commands -2
    8. Importance of Branching in GIT
    9. How to Resolve Merge Conflicts with GIT
  23. Chapter 23 : Database Connection to Selenium/Appium Test Cases
    1. Steps to Connect Database to Selenium Test Cases
    2. MySQL Download Instructions
    3. MySQL Server Connection Procedure
    4. Creating Database in MySQL Server
    5. Creating Tables in Databases
    6. JDBC ODBC Connection Overview
    7. Integration of Database with JDBC API
    8. Steps to Connect Database Info to Selenium - 1
    9. Steps to Connect Database Info to Selenium - 2
  24. Chapter 24 : Java OOPS Basics for Appium/Selenium
    1. Java First Program Basics
    2. Java Program Principles
    3. Classes and Objects in Java
    4. Strings in Java
    5. Interface Concepts
    6. Practical Usage of Interface
    7. Runtime Polymorphism
    8. Inheritance Concepts
    9. Practical Usage of Inheritance
    10. Coding Basics-1
    11. Coding Basics-2
    12. Introduction to Arrays
    13. Single-Dimensional and Multidimensional Arrays Usage
    14. Examples of Arrays
    15. Array Interview Questions
    16. Programming Example
    17. Reverse String -Interview Question
    18. Date Class Concepts
    19. Working with Calendar Objects in Java
    20. Access Modifiers Basics
    21. How Constructor Plays a Crucial Role
    22. Types of Constructors and Their Usage
  25. Chapter 25 : Defect Tracking Tool
    1. Defect Management tool- Bugzilla
    2. Bugzilla Features- Logging a Bug
    3. Bugzilla Features -Search Mechanism for Tracking Bugs
    4. Common Practices in Bugzilla Tool
    5. Bugzilla Preference Feature

Product information

  • Title: Appium (Selenium)-Mobile Automation Testing from Scratch
  • Author(s): Rahul Shetty
  • Release date: October 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781789136128