← Back to Awesome

Sections

Appium

GitHub repository ↗ synced 2026/8/9

Awesome Appium Awesome Build Status

A curated list of delightful Appium resources.

Feel free to add links via PRs and file issues to start discussions.

Inspired by the awesome list thing.

Server

Appium

Appium is an open source, cross-platform test automation tool for native, hybrid and mobile web and desktop apps, tested on simulators (iOS), emulators (Android), and real devices (iOS, Android, Windows, Mac).

Clients

Ruby
Python
Java
JavaScript
Objective C
PHP
C# (.NET)
RobotFramework

Inspectors

Appium Desktop

Appium Server and Inspector in Desktop GUIs for Mac, Windows, and Linux.

WebDriverAgent Inspector

A WebDriver server for iOS that runs inside the Simulator.

Selendroid Inspector

The web app which is embedded inside your selendroid test server.

Appium iOS Inspector

The tool for iOS elements location based on the original source of Selendroid Inspector.

app-inspector

Macacajs App Inspector.

Become an Appium Pro

Seeding the iOS simulator with test photos
Seeding an Android device with test photos
Running arbitrary ADB commands via Appium
Using Appium for Testing Mobile Web Apps
Performance Testing of Android Apps
Testing iOS App Upgrades
Speeding Up Tests With Deep Links
How to Find Elements in iOS (Not) By XPath
Testing Android App Upgrades
Anatomy of Logging in Appium
Simulating SMS Messages on Android
Capturing Performance Data for Native iOS Apps
Switching Between iOS Apps During a Test
How to Automate a Pop Rock Band
Testing iOS Push Notifications
Automating the Clipboard on iOS and Android
Automating Cross-Platform Hybrid Apps
Using Espresso With Appium
Making Your Appium Tests Fast and Reliable, Part 1: Test Flakiness
Making Your Appium Tests Fast and Reliable, Part 2: Finding Elements
Making Your Appium Tests Fast and Reliable, Part 3: Waiting for App States
Making Your Appium Tests Fast and Reliable, Part 4: Dealing With Unfindable Elements
Making Your Appium Tests Fast and Reliable, Part 5: Setting Up App State
Making Your Appium Tests Fast and Reliable, Part 6: Tuning Your Capabilities
Making Your Appium Tests Fast and Reliable, Part 7: Disabling Animations
Making Your Appium Tests Fast and Reliable, Part 8: Mocking External Services
Making Your Appium Tests Fast and Reliable, Part 9: When Things Go Wrong
Running Multiple Appium Tests in Parallel
Automating Complex Gestures with the W3C Actions API
iOS-Specific Touch Action Methods
Automating Custom Alert Buttons on iOS
Finding Elements By Image, Part 1
Finding Elements By Image, Part 2
Simulating Hardware Keys And Key Events On Android
Writing XPath Queries That Work
Using The 'nativeWebTap' Capability
Capturing Browser Errors and Logs in iOS Web/Hybrid Apps
Capturing Browser Errors and Logs in Android Web/Hybrid Apps
Early-Stage AI for Appium Test Automation
How To Test On Real iOS Devices With Appium, Part 1
How To Test Real iOS Devices With Appium, Part 2
Simulating Incoming Phone Calls On Android
How To Automatically Grant iOS App Permissions Using Appium
Working With Web Components (Shadow DOM)
How to Automate Siri Voice Commands Using Appium
Sending Arbitrary Keystrokes With The Actions API
Running Appium From Source (Or The Latest Beta)
How To Flash Elements On Screen While Debugging Appium Tests
How To Spread Some Holiday Cheer Using Appium
Special Capabilities for Speeding up Android Test Initialization
Calling Methods Inside Your App From Appium
Automating Mac Apps with Appium
Accessing Android Logcat Logs with Appium
Using Appium With Selenium Grid
Using Mobile Execution Commands to Continuously Stream Device Logs with Appium
What Appium Users Need to Know about Android Activities and Intents
How to Determine Element Locators For Mobile Web and Hybrid Apps
How to Test on Headless Emulators and Simulators with Appium
How to Automate Picker Wheel Controls
How to Pick the Right Locator Strategy
How to Accurately Select Webviews Using the fullContextList Capability
Capturing iOS Simulator Network Traffic with Appium
Capturing Android Emulator Network Traffic with Appium
Validating Android Toast Messages
Capturing Network Traffic in Java with Appium
Automating System Apps with Appium
Generating Touch Gestures to Zoom In and Out on Google Maps
Automating Physical Buttons on iOS Devices
Capturing Audio Output During Testing: Part 1
Capturing Audio Output During Testing: Part 2
Starting an Appium Server Programmatically Using AppiumServiceBuilder
Simulating Slow Internet Connections on Android Emulators with Appium
Working with Multile Webviews in Android Hybrid Apps
Automating Custom IoT Devices With Appium, Part 1
Automating Custom IoT Devices With Appium, Part 2
Testing React Native Apps with Appium
Optimizing WebDriverAgent Startup Performance
Attaching Appium Clients to Existing Sessions
Converting Java Tests to Kotlin
Testing iOS Face ID with Appium
Testing Windows Desktop Apps With Appium
Streaming Video from iOS Devices
Speeding Up Android Screenshots With MJPEG Servers
Reliably Opening Deep Links Across Platforms and Devices
Batching Appium Commands Using Execute Driver Script to Speed Up Tests
Connecting Directly to Appium Hosts in Distributed Environments
Working With Android 10
Saving Test Data To Make Debugging Easier Java
Understanding Appium Drivers (And How To Choose Which One To Use)
Optimizing Image Element Thresholds
Getting Started With Appium For Android On Windows
Using AI-based Object Detection For Finding Elements
Managing Chromedriver for Android Chrome and Webview Testing
Using the Appium Events API
The 'Android Data Matcher' Locator Strategy
Working With Cookies
Capturing App Launch Metrics On Android
Visual Testing With Appium, Part 1
Visual Testing With Appium, Part 2
Visual Testing With Appium, Part 3
AI for Appium--and Selenium!
Mobile App Performance Testing
Free Tools For Mobile App Performance Testing With Appium
Simulating Different Network Conditions For Virtual Devices
Paid Tools And Services For Mobile App Performance Testing

Tutorials

TOOLSQA

Appium tutorial for beginners (Android & iOS).

GURU99

Appium tutorial for beginners.

QTPSELENIUM

Appium tutorials.

Testing Diaries

Appium Tutorial for Complete Beginners.

Appium Bootcamp

Appium Bootcamp by Sauce.

Appium Mobile Grid Setup

The Mobile Grid – Getting Started for Android & iOS.

Selenium Camp 2016

Selenium Camp 2016.

Blogs

  • All about Appium Desired Capabilities - All about Appium's desired capabilities.
  • Appium Architecture & Appium Desktop - Appium Architecture, settings, etc (Updated)
  • Appium Architecture - Architecture of Appium.
  • All about Appium - All about Appium in Wordpress.
  • Appium with Image Recognition - Appium with Image Recognition - Simon Kaz.
  • Automate Android Actions using Appium - Automate Android Actions using Appium - kkashyap1707.
  • Network Connection in Appium - How to deal with Network Connection from Appium 4.0.0 - Elias Nogueira.
  • How to change language in Appium - Appium Tips — Changing the app Language - Elias Nogueira.
  • Automated UI testing of a UWP app using Appium - Windows Application driver makes UWP Apps compatible using Appium - Yassine benabbas.
  • Context Switching in Appium Switching to a Dynamically Named Context Handle with Appium and Java - Kevin Berg.
  • A Robot Should Be Running Your Appium Tests - How to run Appium Tests using Robots. - Dan Cuellar.
  • Appium Tests on Buddybuild - Automates building, deploying and gathering feedback for mobile apps - Stipe Kolovrat.
  • Android setup Linux - From Zero To Appium: A How-To Guide For Configuring Appium With Android
  • [Useful Appium Series] (http://bitbar.com/tag/appium/) - Appium Tip Series
  • [Inspect iOS app's with Appium 1.6] (https://medium.com/@chenchaoyi/the-options-of-inspecting-ios-10-app-with-appium-1-6-534ba166b958#.ezq1q0iuo) - The options of inspecting iOS 10 app with Appium 1.6
  • GraphWalker - GraphWalker is a open source Model-based testing tool for test automation. It's designed to make it easy to design your tests using graphs
  • Appium + Mobile Game Testing - MOBILE GAME TESTING – PART #2: UI AND FUNCTIONALITY + IMAGE RECOGNITION
  • WinAppDriver - WinAppDriver - Test any app with Appium's Selenium-like tests on Windows
  • IMAGE RECOGNITION WITH APPIUM - USING APPIUM FOR MOBILE GAME TESTING
  • Uncover invisible changes in automated tests - By KazuCocoa
  • Adding AI to Appium - By test.ai

Workshops

Appium Workshop Selnium Conf 2016

Repo for Appium Workshop at the 2016 Selenium Conference - Justin Ison.

Cloud and Docker Solutions

Appium Tests in AWS Device Farm

Sample Appium tests runs on AWS Device Farm.

Appium Tests in OpenSTF Device Farm

Sample Appium tests runs on STF Device Farm.

Official Appium Docker Images

DockerFile for Appium Android Real Devices.

Appium Docker Images

DockerFile for Appium Android.

Appium Docker File

DockerFile for Appium Android.

Appium Docker File

DockerFile for Appium Android.

TestingBot

Cloud based Device Farm, run Appium tests on physical Android and iOS devices.

Git Books

Appium Essentials

Explore mobile automation with Appium and discover new ways to test native, web, and hybrid applications - Manoj Hans.

Appium for Android

A quick reference book on how to use Appium for automating Android Application using Java - Nishant Verma.

Test Frameworks

Appium Cucumber Test

Sample Appium Cucumber Project.

Appium-Native-Crawler

Appium Native Crawler CLI - Features include: Screenshots, Performance, Accessibility Detection, Google Translate, Applitools, Monkey Tester.

coteafs-appium

A tester friendly Mobile Automation Framework built on top of Appium which supports testing web and native apps for Android, iOS and Windows real or emulator Mobiles and Tablets.

Optimus

Cucumber based Mobile Automation Framework, which supports test parallelization.

PageObject Pattern Framework

Sample Page Object Pattern Framework to use directly.

Parallel Framework Java-Client

Run appium tests in parallel across iOS and Android devices.

Community

Discuss
Stack Overflow
`@appiumdevs` on Twitter
`#appium` on Slack

Tips

Contribute some ;)