< Back

A Beginner’s Guide to Appium: Mobile Testing Simplified

Author

Muskaan Parikh

Date

03/02/2025

Share this article

Appium is a versatile tool for automating testing of mobile, web, and desktop applications.

This guide summarizes the key points from a recent tutorial to help you get started with Appium. 

What is Appium? 

Appium is an open-source framework designed for automating mobile, web, and desktop applications across multiple platforms such as Android, iOS, and Windows. Its architecture is modular, including components like: 

- Core: Defines Appium's API. 

- Drivers: Manage connectivity to specific platforms. 

- Clients: Implement Appium’s API in different programming languages (e.g., Java, Python, JavaScript). 

- Plugins: Extend or modify core functionalities. 

Setting Up Appium 

Proper installation and setup are essential for running Appium effectively. Here's an outline of the key tools and environment configurations: 

  

1. Appium Doctor

   - A tool to verify whether you have the necessary dependencies. 

   - Install it globally using: npm install @appium/doctor --location=global 

2. One-Command Installation

Use the npx command for a streamlined setup: npx appium-installer 

  3. Android Environment Configuration

   - Set up Android SDK with the default path. 

   - Enable support for both real and virtual devices. 

   - Agree to install missing binaries and browsers. 

   - Set the ANDROID_HOME environment variable if prompted. 

  

4. Appium Drivers

   - Install platform-specific drivers such as uiautomator2 (for Android) or xcuitest (for iOS): 

     appium driver install uiautomator2 

     appium driver install xcuitest 

   

Installing Appium on macOS and Windows 

Follow these steps for macOS installation: 

1. Install Appium globally:   npm i --location=global appium 

Verify installation with:   appium --version 

  

2. Install Node.js

   - Download it from [Node.js official site](https://nodejs.org/en/download/current). 

   - Verify using: 

     node --version 

     npm –version 

 

3. Set up ANDROID_HOME and JAVA_HOME

   - Add the environment variables for Android SDK and Java paths. 

  

ANDROID_HOME Setup for Appium for Windows 

The ANDROID_HOME environment variable is crucial for Appium to locate Android SDK tools. Here's how to set it up properly: 

Steps to Configure ANDROID_HOME

1. Download Android SDK Tools

   - Visit the [Android Developer website](https://developer.android.com/studio). 

   - Download the SDK tools or use the direct links to download platform tools: 

     - [Platform Tools](https://developer.android.com/tools/releases/platform-tools) 

     - Specify the required Android version, e.g., android-28: 

       sdkmanager "platform-tools" "platform;android-28"

2. Set Environment Variables

   - Add the ANDROID_HOME variable to your system: 

     - On macOS, Linux or Windows edit your ~/.bash_profile or ~/.zshrc:   

export ANDROID_HOME=/path/to/android/sdk 

export PATH=$ANDROID_HOME/platform-tools:$PATH        

     - On Windows, add the variable in System Properties > Environment Variables

3. Verify Installation

   - Check if the adb (Android Debug Bridge) tool is accessible: 

     adb --version 

4. Why ANDROID_HOME is Necessary

   - It enables Appium to locate SDK tools required for interacting with Android devices. 

   - Ensures compatibility with both real and virtual devices. 

Common Issues

- If you encounter errors, double-check the SDK path and ensure it's correctly referenced in your environment variables. 

- Ensure platform tools are installed via sdkmanager. 

  

4. Install Xcode (for iOS testing) from the App Store. 

5. Installing drivers for macOs and Windows  

- For macOs you can use the following command to install xcuitest:  

appium driver install xcuitest  

appium driver list –-installed 

  • For macOs you can use the following command to install uiautomator2:  

appium driver install uiautomator2  

appium driver list –-installed 

Configuring Devices 

Appium works with both real devices and emulators:   

1. Enable Debugging on Android Devices

   - Navigate to Settings > About phone > Tap Build number (7 times). 

   - Enable USB debugging under Developer options

  

2. Check Device Connectivity

    adb devices 

  

Using Appium Inspector 

The Appium Inspector is a GUI tool to inspect elements in your app's UI. Steps to set it up: 

1. Download it from [GitHub Releases](https://github.com/appium/appium-inspector/releases). 

 

  • Real device  

  • Emulator 

  

2. If using macOS, install with: 

   brew install --cask appium-inspector 

  • Emulator 

 

3. For any security issues, go to System Preferences > Security & Privacy > General and allow access. 

WebdriverIO for JavaScript Tests 

WebdriverIO is a Node.js-based framework for creating end-to-end tests: 

  

1. Install WebdriverIO: 

   npm i --save-dev webdriverio 

   npm init wdio 

   

2. Configure the package.json file to suit your project needs. 

  

Getting Started 

With your environment ready, you can now create automated tests for your apps. Follow these steps to ensure success: 

  

- Verify each dependency using the commands provided. 

- Configure devices or emulators for debugging. 

- Use Appium Inspector to identify UI elements for scripting your tests. 

 

- Utilize WebdriverIO or another client library compatible with Appium. 

  

By following this guide, you’ll be ready to start automating your mobile testing with Appium efficiently.  

  

Happy testing!