Awesome Appium


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.
Contents
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
Inspectors
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
Blogs
Workshops
Cloud and Docker Solutions
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.
Tips
Contribute some ;)
Contribute
Contributions welcome! Read the contribution guidelines first.
License

To the extent possible under law, Srinivasan Sekar has
waived all copyright and related or neighboring rights to this work.
appium.md
Github