Automation · Intermediate · 💎 Premium
Mobile App Testing with Appium 2+ — Android & iOS
From manual mobile checklists to a parallel, CI-ready Appium + Java + TestNG framework on real Android emulators, devices and clouds.
10Lessons
68Lab tasks
14h 55mDuration
1Capstone + certificate
About this course
A practical, lab-first course that takes you from mobile testing fundamentals to a production-style Appium framework. You will automate Sauce Labs My Demo App on Android with Java 17, java-client 9 and TestNG, cover gestures, hybrid WebViews, deep links, permissions and parallel execution, then run on real devices, cloud farms and GitHub Actions. The course ends with a capstone framework you can publish as your QA portfolio.
What you will be able to do
- Plan and execute mobile-specific manual testing: interrupts, network, permissions, lifecycle and device fragmentation.
- Set up JDK, Android SDK, emulators, adb, Appium 2+ and the UiAutomator2 driver from scratch and troubleshoot the chain.
- Write Java tests with java-client 9 and UiAutomator2Options using stable accessibility id, id and UiSelector locators.
- Automate swipes, scrolls, long press and drag with W3C Actions, and test hybrid WebView screens via context switching.
- Control app state with explicit waits, lifecycle commands, deep links and permission/keyboard handling to remove flakiness.
- Build a Page Object Model framework with TestNG and run it in parallel on multiple emulators, real devices and device clouds.
- Measure cold start, jank and memory with adb and run the suite in GitHub Actions with artifacts.
- Publish a portfolio-ready Appium framework on GitHub and explain its design confidently in interviews.
Syllabus
-
▶
1. Mobile Testing Fundamentals & the Manual Mobile Checklist Understand native, hybrid and mobile-web apps, device fragmentation and the mobile-only test areas, then execute an interrupt, network and permission checklist on Sauce Labs My Demo App.
-
🔒
2. Environment Setup: JDK, Android SDK, Emulator, adb, Appium 2+ & Inspector Install and verify the full Android automation stack: JDK 17, Android SDK and emulator, essential adb commands, the Appium server with the UiAutomator2 driver, and a first Appium Inspector session on My Demo App.
-
🔒
3. Your First Java Appium Test (java-client 9 + UiAutomator2Options) Create a Maven + TestNG project with java-client 9, configure UiAutomator2Options, and write catalog, add-to-cart and login tests against Sauce Labs My Demo App while reading the Appium server log.
-
🔒
4. Locator Strategies: Accessibility ID, ID, UiSelector & XPath Cautions Choose stable mobile locators, master UiSelector and UiScrollable, measure why XPath is slow, and build a locator inventory for My Demo App.
-
🔒
5. Gestures with W3C Actions, Hybrid Apps & Context Switching Implement swipe, scroll, long press and drag with W3C PointerInput and mobile: gesture commands, then automate a WebView by switching between NATIVE_APP and WEBVIEW contexts.
-
🔒
6. Waits, App Lifecycle, Deep Links, Permissions, Alerts & Keyboard Eliminate flakiness with explicit and fluent waits, control the app lifecycle, jump to screens with deep links, and handle runtime permissions, alerts and the soft keyboard.
-
🔒
7. Mobile POM Framework with TestNG & Parallel Runs on Multiple Emulators Build a layered Page Object Model framework with a driver factory, ThreadLocal driver manager and TestNG hooks, then run it in parallel on two emulators with unique udid and systemPort.
-
🔒
8. Real Devices, Cloud Device Farms (BrowserStack / Sauce Labs) & iOS XCUITest Run tests on real Android phones, add a runtime switch for BrowserStack and Sauce Labs device clouds, and get an overview of iOS automation with the XCUITest driver and cross-platform page objects.
-
🔒
9. Mobile Performance, Usability & Compatibility Checks + CI with GitHub Actions Measure cold start, jank, memory and robustness with adb, automate rotation and accessibility-label checks, run compatibility passes, and run the Appium suite on an emulator in GitHub Actions.
-
🔒
10. Capstone: Production-Style Appium Framework for My Demo App Build, run and publish a complete Appium + Java + TestNG framework for Sauce Labs My Demo App with checkout E2E, mobile-specific tests, parallel execution, GitHub Actions CI and a portfolio-ready README.