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.
- 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).
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
Cloud and Docker Solutions
- 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.
- 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.
Contribute some ;)
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, Srinivasan Sekar has waived all copyright and related or neighboring rights to this work.