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.