
Master mobile automation with Appium 2.0 and WebdriverIO by learning setup, element discovery with Appium Inspector, writing tests for Android and iOS, and integrating with BrowserStack and GitHub Actions.
discover how appium, an open source tool, automates native mobile and hybrid apps across iOS, Android, and Windows with a single API and cross-platform code reuse.
Discover WebdriverIO as a JavaScript end-to-end automation framework for testing web apps across browsers and mobile apps on iOS and Android using Appium, with quick setup and readable code.
Join this course that supports diverse learners, embrace self-learning, adjust pacing, and use the provided resources and Q&A/Discord community to troubleshoot with Google, documentation, tutorials, and peers.
Learn how to set up Node.js using a node version manager (nvm), install the latest Node version, switch between versions, and verify the installation in your terminal.
Install the Java JDK from adoptopenjdk.net (Java 11 shown), verify with java -version, then set and export JAVA_HOME in your shell profile (bash or zsh), and source it to apply.
Install Android Studio and configure Android home with the Android SDK path, verify adb via terminal, and learn to export Android home and source changes for setup.
Set up an Android emulator in Android Studio, create a Pixel 3 virtual device, download Android 11 and 10, boot the emulator, and connect tests via EPM inspector.
Install Appium Desktop Inspector on macOS by downloading GitHub release and running the DMG, then configure API server, host, port, and desired capabilities to connect to an emulator or simulator.
Install Appium 2.0+ globally with npm, then run APM Dr. to verify dependencies for Android or iOS, ensuring Java home, Android home, and ADB are properly configured.
Learn to install Node.js on Windows for Appium setup by downloading the Windows installer from the Not Just website, installing Node.js and npm, and verifying version 14 or above.
Install the Java JDK with adoptopenjdk binaries, selecting a version such as 11, and set the Java home environment variable. Verify with java -version.
Install and open Android Studio, configure Android home and path variables, include platform-tools and tools, and verify the setup before proceeding to emulator setup.
Set up and boot an Android emulator using Android Studio's AVD Manager, creating a Pixel 3 virtual device with Android versions 11 and 10 for testing and APM inspector integration.
Download and install the APM inspector, then set the APM host and desired capabilities to start a session and inspect mobile app elements with the desktop client.
Install Appium with npm to get version 2.0 or newer, and verify the setup using Appium Doctor to confirm Android and Java home and ADB readiness.
Set up WebDriver IO for mobile testing with Appium by creating a new project and using the cli wizard to configure Android, mocha, local execution, and Appium service.
Walk through the WebdriverIO configuration for an Android test on the emulator, set up local runner and Android capabilities, specify specs, and add the APK under resources for Appium testing.
Configure Android webdriverio capabilities, including platform name, version, device, automation, and app path, using relative paths with path.join and process.cwd for portability.
Set up a WebdriverIO test folder, create a sample Appium 2.0 test, and run it against an Android emulator. Install drivers and troubleshoot common errors.
Set up an android emulator in android studio, configure appium inspector with android capabilities (platform name android, version 10, device nexus s), and start the appium server on port 4724.
Initiate a WebDriverIO v8 project with npm init webdriverio, configure Mocha for local end-to-end mobile testing, select the APM service, and complete the CLI-driven setup.
Initialize a new project directory, run npm init, and install and configure webdriverio with appium support, then run wdio config choosing mocha, spec reporter, and chrome driver to prepare tests.
Configure WebdriverIO for Android with Appium 2.0 by editing the IO configuration and specifying Android platform name, Pixel 3 device name, UI Automator 2 automation name, and APM server integration.
Fix the Appium port 4723 connection by updating to the latest APM and configuring localhost and port 4723 with logs; install UI Automator 2 driver if needed.
Learn to locate elements with accessibility id in Android and iOS using WebdriverIO. Use a single cross-platform id to create robust, localization-independent tests.
Review test run logs reveal the session start on the Appium server port 4723, element interactions via accessibility ID, assertions, and the final test report.
Learn to locate elements by class name or tag name in Android apps, handle non-unique class names, and fetch the first text view text with get element text.
Learn to find mobile elements using xpath as a flexible alternative when accessibility id fails, by composing selectors from content description, resource-id, text, and class name.
Learn to locate elements with Android UI Automator in Appium, using UI selector options like text contains, starts with, and class name to extend beyond accessibility id.
Learn to work with multiple elements in Appium by using the double dollar sign to fetch all matching elements, extract their text, and verify the list against expectations.
Learn to automate text input in an autocomplete field by navigating views, autocomplete, screen top, using a selector strategy to enter a country name and verify it.
Learn to automate text input fields with Appium 2.0 and WebdriverIO by accessing screens, using accessibility id or content descriptions, entering a country name like Canada, and verifying the result.
Learn how Android package and app activity identify an app and its screens, enabling direct access to a screen to speed up tests and improve stability using start activity.
Learn to automate dialog and alert boxes in Appium, using accept and dismiss commands, interact with ok or cancel button, locate by resource or accessibility IDs, and verify alert text.
Master vertical scrolling in Android with Appium 2.0 and WebdriverIO by locating scrollable elements, using scroll to end and scroll text into view, and ensuring stable clicks and assertions.
Master horizontal scrolling in Android with Appium by declaring a horizontal list, accessing gallery views, and using scroll forward and backward to navigate items and bring text into view.
Complete the exercise to access the data budget dialog, open the date picker, scroll to the next month, select the end date, and verify the update on an Android app.
Access the date widget with start activity, retrieve the current date, open the date picker, scroll right to select a new date, confirm with OK, and verify the update.
Download the Color Note Android app, add it to the Android app folder, update the config, and run tests on the emulator to confirm the app opens and tests pass.
Learn to handle Android app permissions by enabling automatic permission grants in Appium capabilities, preventing permission dialogs and streamlining test runs.
Automate testing the Android notes app by adding a note on the add note screen, saving changes, and verifying the note appears using Appium 2.0 and WebdriverIO.
Learn to automate adding notes in a mobile app using Appium inspector, resource IDs and text selectors; validate edits, save changes, and verify content with assertions.
Practice deleting a note in a mobile automation test: add a note, save, delete via the ellipsis menu, and verify removal in the trashcan.
Demonstrates a delete note test with Appium 2.0 and WebdriverIO, identifying elements by resource ID and accessibility ID and validating deletion via the trash can and alerts.
Learn the page object model for mobile, adapted as a screen object model, to separate tests from locators, providing a single source of repository for your tests with WebdriverIO.
Set up the add note screen using a page object model by creating screen objects, defining selectors and getter functions, exporting modules, and building reusable screen helper methods.
Create a delete notes screen object with selectors and methods, add skip tutorial and add note functions, and reuse these in tests to streamline mobile automation.
Create a delete note screen object by reusing add note components, refactor tests to skip tutorial and save note, and verify deletion in Appium 2.0 and WebdriverIO.
Download and install Xcode from the App Store to set up the iOS environment. Expect a lengthy 12.4 GB installation and occasional stalls around 80%, with documentation guiding the setup.
Install and verify iOS development dependencies by installing Xcode command line tools with xcode-select, installing Cartage, and running a doctor check to confirm tools are ready for iOS app automation.
Configure WebdriverIO with Appium 2.0 for iOS by installing the driver, adding the iOS test app, and setting up simulator capabilities.
Connect the APM inspector with an iOS simulator, configure platform and app capabilities, save profiles, and start a session to inspect app elements.
Learn to find elements in iOS apps using accessibility IDs, inspect elements with app inspector, and verify alerts with get alert text.
Learn how to locate elements by tag name or class name using Appium inspector, retrieve single or multiple elements by type, and extract text from static text elements.
Learn to locate elements with xpath in mobile apps, using dynamic selectors when accessibility id is unavailable, by targeting attributes like name or label to access text and alerts.
Learn how to locate iOS elements using the class chain strategy in Appium, including constructing selectors with label, contains, and begins with, and validating them with the app inspector.
Find elements using predicate strings and the pretty good string in appium inspector, replacing long class chains with cleaner syntax, using attributes like name, value, type, and value begins with.
Execute a mobile automation exercise to enter text into the default search bar’s input field, then clear it with the X button and verify it is empty in the simulator.
Automate search input field interactions using accessibility IDs, predicate strings, and value assertions across iOS and Android with Appium 2.0 and WebdriverIO.
Development of mobile apps is increasing rapidly year by year. As the development increases, the demand of putting quality apps out there increases as well. After this course, with the help of mobile automation, you will be able to help companies launch top quality applications without worrying about any regression issues.
This course will teach you the latest version of Appium (2.0) and WebdriverIO (v8). Setup will cover both macOS and Windows machine from scratch and will also cover how to setup tests for both Android & iOS.
Along the way, I will teach you all the best practices that will put on the path of becoming one of the Top Automation Engineer.
Here's what we will be covering in this course:
Appium & WebdriverIO Introduction
Setup & Installation
Different strategies to find elements for both iOS & Android apps
Working with native features
Practicing skills on a real-world application
Page Object Model setup
Building test framework
Optimizing framework
BrowserStack integration to run tests on cloud server
GitHub Action for CI integration
and much more...
All of the topics are taught with real examples. The course will include exercises & quizzes that will challenge you & allow you to practice what you learned.
This course will get constantly updated so that you no longer have to worry about outdated content.