
Explore the IPM and APM mobile automation course for iOS and Android with live coding, real-device setup, and framework design, covering Maven, Cucumber, Jenkins, Git, and Java concepts.
Learn to maximize your learning experience with Appium by using Q&A features, filing detailed questions with steps, logs, and screenshots, and optimizing video playback and resolution.
Learn to design and lead mobile test automation frameworks from scratch using IPM for Android and iOS, including data-driven approaches, page object model, and CI/CD with GitHub and Jenkins.
Introduce ourselves and outline the high level api architecture. Explore the types of mobile applications we can automate using ipm. Summarize possible setups for the local ipm instance.
Explore how Appium enables cross-platform mobile automation across Android, iOS, and Windows using the WebDriver API, with multi-language support and emulators, simulators, and cloud options.
Explore the high level architecture of Appium, a Node.js HTTP server with a REST API using the JSON wire protocol, client libraries, and native drivers for Android and iOS.
Explore native, hybrid, and mobile web apps in Appium automation, comparing development cycles, performance, and ease of automation with IPM inspector and driver context handling.
Explore local APM server options across Mac and Windows; Mac enables Android and iOS automation via IPM, while Windows covers Android only, highlighting IPM for cloud or local labs.
Explore the full ecosystem of Appium drivers, from UI engine and Espresso to Windows, Flutter, Xamarin, Safari, and Gecko, with notes on W3C standards and cross-platform automation.
Compare UiAutomator2 and Espresso drivers for Android automation, highlighting Espresso's fast synchronization via idling resources, UiAutomator2's multi-app and system component testing, and differences in element rendering and Jetpack Compose support.
Learn the essential setup prerequisites for Appium on Windows or Mac, including admin privileges, updated OS, and avoiding security blocks; prefer real devices and ensure emulators have sufficient RAM.
Set up android testing by creating a virtual device with Android Studio, enable usb debugging on a real device, validate with adb, and start a driver session via ipm inspector.
Install the Appium command line interface on Windows by installing Node and npm, then install Appium@next globally with npm, verify installation, and run a barebones server on port 4723.
Install the UiAutomator2 driver for Android tests using the APM CLI, verify it's installed, then start the server and use the automation name capability to communicate with the driver.
Install the IPM inspector to inspect mobile UI elements and define selectors with locator strategies. Create a driver session by starting the IPM server and configuring IP, port, and capabilities.
Install and configure the Java JDK as a prerequisite for Appium. Verify the installation with java -version and set the java home variable and path on Windows.
Install Android Studio to set up the Android SDK, configure android_home and path, then use the sdk manager to enable emulator tools and adb.
Use the android virtual device to automate your app with IPM. Speed up the emulator with haxm, virtualization, and x86 images, and manage Hyper-V for AMD.
Create an Android virtual device (AVD) in Android Studio, selecting a phone and a latest system image with API 32 or 33, then start the AVD for automation.
Validate emulator setup by creating a driver session with the IPM inspector and APM server, using Android and UI Automator 2, and testing the app APK path.
Enable USB debugging on a real Android device, install ADB drivers, and verify recognition with adb devices; use visor to mirror the device for automated testing with IPM.
Validate IPM setup by creating a driver session on a real Android device, installing and launching the app via the ADB tool, and using the inspector and logs for debugging.
Install IPM CLI on macOS using Homebrew, set up node and npm, install IPM globally, start the IPM server on port 4723, and manage drivers and plugins.
Install and launch the Appium inspector on macOS from GitHub releases, then configure the server connection and desired capabilities to create a driver session for Android and iOS.
Install the Java JDK on mac and verify the setup with java -version. Download Java 15 from Oracle, use the dmg installer, and confirm the installed version (15.0.2).
Set up JAVA_HOME on macOS with a two-step approach: define JAVA_HOME and append JAVA_HOME/bin to PATH; source the profile and verify with echo JAVA_HOME and echo PATH.
Set up a mac-based android testing environment with an android emulator and real device, enable usb debugging, validate with adb, and launch a session via IPM inspector or Apmc server.
Install the UiAutomator2 driver for Android automation using the APM CLI, start the server, and learn the driver communication via the automation name capability.
Install Android Studio on Mac to set up the Android SDK and emulator, then configure SDK tools and Intel HAXM for smoother Android virtual devices.
Set up the android_home environment variable to your android sdk path and update the path to include platform-tools and cmdline-tools, then source the file and verify the variables resolve.
Create and configure an Android virtual device (AVD) via Android Studio's Virtual Device Manager to automate apps with Appium, selecting a phone and the latest system image.
Validate the emulator setup by creating a driver session with the IPM inspector and APM server, configure UI Automator on Android, and launch the demo app.
Enable USB debugging on a real Android device, mirror the device to your Mac with Visor, authorize the computer, and verify with adb devices for Appium automation.
Validate the IPM setup by creating a driver session on a real Android device, installing a dummy app, and reviewing server logs and inspector outputs.
Set up iOS simulators and real devices on a Mac, and explore web driver agent. Join the Apple Developer program and master code signing, provisioning profiles, and certificates for testing.
Install the XCUITest driver via the apm cli, list and install the iOS driver, and start the apm server to enable iOS automation with the hci test driver.
Install and configure Xcode and essential dependencies for iOS automation with Appium, including macOS compatibility, Apple ID setup, command line tools, xcpretty, and Carthage.
Build the UIKit catalog app for the iOS simulator to practice automation across UIKit views and controllers, using open source code from GitHub and Xcode.
Validate the mac iOS apm setup by launching the simulator and creating a driver session with the apm server via the IPM inspector, loading the UI kit catalog app.
Learn how web driver agent sits on the iOS device and acts as a proxy between Appium test driver and Apple UI test framework, installed by the APM server.
Master iOS code signing by understanding signing certificates, provisioning profiles, and device registration. Learn how development and enterprise certificates affect device trust, bundle IDs, and IPA signing for real devices.
Learn how to set up real iOS devices for Appium using free or paid Apple accounts, choosing between manual and paired WebDriverAgent deployment and related test app options.
Learn to set up a real iOS device for Appium automation using automatic code signing with a paid Apple account, generating an IPA, and deploying WebDriverAgent via the IPM inspector.
Set up real-device automation with IPM on a free Apple account using the full manual configuration path; install iOS deploy, manage certificates, adjust bundle IDs, and deploy the WebDriverAgent.
Course Updates:
Apr 2024: The course (and the framework code) is updated for Java 21 LTS and latest Appium Java Client 9.x.x.
Nov 2023: The course fully supports latest Appium Java Client 9.x.x with Java 15.
Nov 2022: The course is updated for Appium 2.0.
Nov 2021: The setup and the code fully supports latest Appium v1.22.0 for both Android and iOS. Also updated with Java 15.
Dec 2020: The Course content is updated for the year 2021!
Why this course?
This is one of the most comprehensive Appium course ever created online
I have explained every concept in great details and with live coding
No other online course covers iOS real device automation like the way I have covered
We will be designing and implementing production ready frameworks using Appium + TestNG and Appium + Cucumber BDD
We will integrate frameworks with other important tools like Maven, Jenkins, GitHub, Apache Log4J2, Extent Reports and so on
This is the only course that covers end to end CI/CD implementation using Appium for both iOS and Android
This is the only course that covers parallel execution on real Android and iOS devices
We will be covering a lot of automation best practices and Appium tips and tricks throughout the course
I'm VERY RESPONSIVE in the Q&A section. I respond to queries within 24 hours. If the time zone difference is not that huge, I can respond within 3-12 hours.
What the course offers?
The main objective of the course is to take you from the beginner level to advanced level so that you can lead the entire mobile automation effort from the planning phase all the way to the CI/CD implementation.
The course mainly focuses on teaching you the Appium concepts with live coding examples.
Important topics covered:
Introduction to Appium
Setting up Appium environment on Windows for Android [Real device and emulator]
Setting up Appium environment on MAC for iOS and Android [real device and emulator/simulator]
Creating our first Appium project
Native Apps automation fundamentals
Android Gestures
iOS Gestures
Appium Driver Commands
WEBVIEW automation for Hybrid and Web (Browser) apps
TDD Framework development from scratch using Appium and TestNG
BDD Framework development from scratch using Appium and Cucumber
Complete CI/CD implementation from scratch for iOS and Android
Deep Links - how to reduce execution time by almost 50%
JAVA Essentials
If you are stuck and need help
Do not worry if you are stuck somewhere and need my help.
I’m in the Q&A to help you get unstuck. I'll reply to every question to get you back on track.