Android Test Automation with Appium in Java
(including Maven and JUnit) - 21 hours

Course available as online Interactive
Course available to schedule for your team
Learn More
Concepts

This practical course offers a robust foundation in scripting tests for Android native and mobile web applications using Appium, the leading open-source framework for mobile test automation. With Android OS capturing over 70% of the global market share for mobile operating systems, Appium stands out as a Selenium extension specifically designed for the mobile domain. During this course, you will gain hands-on experience in testing real Android phones connected to your PC, as well as their emulators. You'll become proficient in utilizing adb (Android Debug Bridge) commands, enabling you to perform a wide range of operations on Android phones. Within a Maven project, you'll seamlessly integrate Appium with JUnit—a widely adopted framework for unit and functional test automation. This integration empowers you to comprehensively test various features of the mobile graphical interface, encompassing gestures and more.


Audience

This comprehensive course is designed for individuals aiming to leverage their Java skills for the highly sought-after profession of mobile test automation engineering


Pre-requisites

Proficiency in Java with IDE of your choice (Eclipse is preferred)
We recommend completing our course “Mastering Java for Testers.
Another one of our courses “Mastering Selenium In Java (including Maven, JUnit, and Jenkins)” could be also helpful
Students must have an Android phone, Samsung is preferred
Familiarity with HTML is preferred but not mandatory


What participants will learn?
  1. Learning Appium architecture
  2. Creating Android emulator
  3. Creating Maven projects integrating Appium and JUnit
  4. Learning JUnit framework for functional testing
  5. Using Appium for automating interactions with Android user interface
  6. Learning adb (Android Debug Bridge) commands
  7. Automating user gestures
  8. Implementing the PageObject pattern for enhanced script maintainability
  9. Testing mobile web apps

Course Outline
  • Maven as a software project management tool
    • Maven lifecycles
    • Phases and goals
    • Dependency management with pom.xml
    • Maven project structure
  • JUnit as a functional testing framework
    • JUnit test classes and test methods
    • JUnit test structure
    • JUnit annotations
    • Assertions
    • Data-driven parameterized tests
  • Native, hybrid, and mobile apps
  • Appium architecture
  • Tools and libraries for mobile test automation
    • Node.js and npm
    • Appium and Android driver
    • Appium server
    • Android Studio
    • Appium Inspector
    • Appium-doctor
    • Scrcpy for mirroring phone on your PC
  • Creating Android emulators
    • Using adb command for installing apk files
  • Creating Appium scripts for operating on mobile app interface
    • Working with Appium Inspector for finding element locators including XPath and CSS
    • Defining Android driver options
    • Automating screenshots
    • Utilizing PageObject pattern for script maintainability
  • Automating gestures
    • Swiping with one finger
    • Zooming with two fingers
    • Drawing an equilateral triangle
  • Automating mobile web apps
    • Learning User-Agent
    • Utilizing Developer tools
    • Using ChroPath and Ranorex Selocity for web element locators