Awesome Appium !Awesome (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg) (https://github.com/sindresorhus/awesome) !Build Status   (https://travis-ci.org/SrinivasanTarget/awesome-appium.svg?branch=master) (https://travis-ci.org/SrinivasanTarget/awesome-appium)  (http://appium.io) ▐ A curated list of delightful Appium (http://appium.io/) resources (#contents). Feel free to add links via PRs and file issues to start discussions. Inspired by the awesome (https://github.com/sindresorhus/awesome) list thing. Contents - Server (#server) - Clients (#clients) - Inspectors (#inspectors) - Tutorials (#tutorials) - Appium Pro (#become-an-appium-pro) - Blogs (#blogs) - Workshops (#workshops) - Cloud and Docker Solutions (#cloud-and-docker-solutions) - Git Books (#git-books) - Test Frameworks (#test-frameworks) - Community (#community) - Tips (#tips) Server - Appium (https://github.com/appium/appium/blob/master/docs/en/about-appium/intro.md) - 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 (https://github.com/appium/ruby_lib) - Python (https://github.com/appium/python-client) - Java (https://github.com/appium/java-client) - JavaScript (http://webdriver.io/) - Objective C (https://github.com/appium/selenium-objective-c) - PHP (https://github.com/appium/php-client) - C# (.NET) (https://github.com/appium/appium-dotnet-driver) - RobotFramework (https://github.com/jollychang/robotframework-appiumlibrary) Inspectors - Appium Desktop (https://github.com/appium/appium-desktop) - Appium Server and Inspector in Desktop GUIs for Mac, Windows, and Linux. - WebDriverAgent Inspector (https://github.com/facebook/WebDriverAgent/wiki/Starting-WebDriverAgent) - A WebDriver server for iOS that runs inside the Simulator. - Selendroid Inspector (http://selendroid.io/inspector.html) - The web app which is embedded inside your selendroid test server. - Appium iOS Inspector (https://github.com/mykola-mokhnach/Appium-iOS-Inspector) - The tool for iOS elements location based on the original source of Selendroid Inspector. - app-inspector (https://github.com/macacajs/app-inspector) - Macacajs App Inspector. Become an Appium Pro - Seeding the iOS simulator with test photos (https://appiumpro.com/editions/1) - Seeding an Android device with test photos (https://appiumpro.com/editions/2) - Running arbitrary ADB commands via Appium (https://appiumpro.com/editions/3) - Using Appium for Testing Mobile Web Apps (https://appiumpro.com/editions/4) - Performance Testing of Android Apps (https://appiumpro.com/editions/5) - Testing iOS App Upgrades (https://appiumpro.com/editions/6) - Speeding Up Tests With Deep Links (https://appiumpro.com/editions/7) - How to Find Elements in iOS (Not) By XPath (https://appiumpro.com/editions/8) - Testing Android App Upgrades (https://appiumpro.com/editions/9) - Anatomy of Logging in Appium (https://appiumpro.com/editions/10) - Simulating SMS Messages on Android (https://appiumpro.com/editions/11) - Capturing Performance Data for Native iOS Apps (https://appiumpro.com/editions/12) - Switching Between iOS Apps During a Test (https://appiumpro.com/editions/13) - How to Automate a Pop Rock Band (https://appiumpro.com/editions/14) - Testing iOS Push Notifications (https://appiumpro.com/editions/15) - Automating the Clipboard on iOS and Android (https://appiumpro.com/editions/16) - Automating Cross-Platform Hybrid Apps (https://appiumpro.com/editions/17) - Using Espresso With Appium (https://appiumpro.com/editions/18) - Making Your Appium Tests Fast and Reliable, Part 1: Test Flakiness (https://appiumpro.com/editions/19) - Making Your Appium Tests Fast and Reliable, Part 2: Finding Elements (https://appiumpro.com/editions/20) - Making Your Appium Tests Fast and Reliable, Part 3: Waiting for App States (https://appiumpro.com/editions/21) - Making Your Appium Tests Fast and Reliable, Part 4: Dealing With Unfindable Elements (https://appiumpro.com/editions/22) - Making Your Appium Tests Fast and Reliable, Part 5: Setting Up App State (https://appiumpro.com/editions/23) - Making Your Appium Tests Fast and Reliable, Part 6: Tuning Your Capabilities (https://appiumpro.com/editions/24) - Making Your Appium Tests Fast and Reliable, Part 7: Disabling Animations (https://appiumpro.com/editions/25) - Making Your Appium Tests Fast and Reliable, Part 8: Mocking External Services (https://appiumpro.com/editions/26) - Making Your Appium Tests Fast and Reliable, Part 9: When Things Go Wrong (https://appiumpro.com/editions/27) - Running Multiple Appium Tests in Parallel (https://appiumpro.com/editions/28) - Automating Complex Gestures with the W3C Actions API (https://appiumpro.com/editions/29) - iOS-Specific Touch Action Methods (https://appiumpro.com/editions/30) - Automating Custom Alert Buttons on iOS (https://appiumpro.com/editions/31) - Finding Elements By Image, Part 1 (https://appiumpro.com/editions/32) - Finding Elements By Image, Part 2 (https://appiumpro.com/editions/33) - Simulating Hardware Keys And Key Events On Android (https://appiumpro.com/editions/34) - Writing XPath Queries That Work (https://appiumpro.com/editions/35) - Using The 'nativeWebTap' Capability (https://appiumpro.com/editions/36) - Capturing Browser Errors and Logs in iOS Web/Hybrid Apps (https://appiumpro.com/editions/37) - Capturing Browser Errors and Logs in Android Web/Hybrid Apps (https://appiumpro.com/editions/38) - Early-Stage AI for Appium Test Automation (https://appiumpro.com/editions/39) - How To Test On Real iOS Devices With Appium, Part 1 (https://appiumpro.com/editions/40) - How To Test Real iOS Devices With Appium, Part 2 (https://appiumpro.com/editions/41) - Simulating Incoming Phone Calls On Android (https://appiumpro.com/editions/42) - How To Automatically Grant iOS App Permissions Using Appium (https://appiumpro.com/editions/43) - Working With Web Components (Shadow DOM) (https://appiumpro.com/editions/44) - How to Automate Siri Voice Commands Using Appium (https://appiumpro.com/editions/45) - Sending Arbitrary Keystrokes With The Actions API (https://appiumpro.com/editions/46) - Running Appium From Source (Or The Latest Beta) (https://appiumpro.com/editions/47) - How To Flash Elements On Screen While Debugging Appium Tests (https://appiumpro.com/editions/48) - How To Spread Some Holiday Cheer Using Appium (https://appiumpro.com/editions/49) - Special Capabilities for Speeding up Android Test Initialization (https://appiumpro.com/editions/50) - Calling Methods Inside Your App From Appium (https://appiumpro.com/editions/51) - Automating Mac Apps with Appium (https://appiumpro.com/editions/52) - Accessing Android Logcat Logs with Appium (https://appiumpro.com/editions/53) - Using Appium With Selenium Grid (https://appiumpro.com/editions/54) - Using Mobile Execution Commands to Continuously Stream Device Logs with Appium (https://appiumpro.com/editions/55) - What Appium Users Need to Know about Android Activities and Intents (https://appiumpro.com/editions/56) - How to Determine Element Locators For Mobile Web and Hybrid Apps (https://appiumpro.com/editions/57) - How to Test on Headless Emulators and Simulators with Appium (https://appiumpro.com/editions/58) - How to Automate Picker Wheel Controls (https://appiumpro.com/editions/59) - How to Pick the Right Locator Strategy (https://appiumpro.com/editions/60) - How to Accurately Select Webviews Using the fullContextList Capability (https://appiumpro.com/editions/61) - Capturing iOS Simulator Network Traffic with Appium (https://appiumpro.com/editions/62) - Capturing Android Emulator Network Traffic with Appium (https://appiumpro.com/editions/63) - Validating Android Toast Messages (https://appiumpro.com/editions/64) - Capturing Network Traffic in Java with Appium (https://appiumpro.com/editions/65) - Automating System Apps with Appium (https://appiumpro.com/editions/66) - Generating Touch Gestures to Zoom In and Out on Google Maps (https://appiumpro.com/editions/67) - Automating Physical Buttons on iOS Devices (https://appiumpro.com/editions/68) - Capturing Audio Output During Testing: Part 1 (https://appiumpro.com/editions/69) - Capturing Audio Output During Testing: Part 2 (https://appiumpro.com/editions/70) - Starting an Appium Server Programmatically Using AppiumServiceBuilder (https://appiumpro.com/editions/71) - Simulating Slow Internet Connections on Android Emulators with Appium (https://appiumpro.com/editions/72) - Working with Multile Webviews in Android Hybrid Apps (https://appiumpro.com/editions/73) - Automating Custom IoT Devices With Appium, Part 1 (https://appiumpro.com/editions/74) - Automating Custom IoT Devices With Appium, Part 2 (https://appiumpro.com/editions/75) - Testing React Native Apps with Appium (https://appiumpro.com/editions/76) - Optimizing WebDriverAgent Startup Performance (https://appiumpro.com/editions/77) - Attaching Appium Clients to Existing Sessions (https://appiumpro.com/editions/78) - Converting Java Tests to Kotlin (https://appiumpro.com/editions/79) - Testing iOS Face ID with Appium (https://appiumpro.com/editions/80) - Testing Windows Desktop Apps With Appium (https://appiumpro.com/editions/81) - Streaming Video from iOS Devices (https://appiumpro.com/editions/82) - Speeding Up Android Screenshots With MJPEG Servers (https://appiumpro.com/editions/83) - Reliably Opening Deep Links Across Platforms and Devices (https://appiumpro.com/editions/84) - Batching Appium Commands Using Execute Driver Script to Speed Up Tests (https://appiumpro.com/editions/85) - Connecting Directly to Appium Hosts in Distributed Environments (https://appiumpro.com/editions/86) - Working With Android 10 (https://appiumpro.com/editions/87) - Saving Test Data To Make Debugging Easier Java (https://appiumpro.com/editions/88) - Understanding Appium Drivers (And How To Choose Which One To Use) (https://appiumpro.com/editions/89) - Optimizing Image Element Thresholds (https://appiumpro.com/editions/90) - Getting Started With Appium For Android On Windows (https://appiumpro.com/editions/91) - Using AI-based Object Detection For Finding Elements (https://appiumpro.com/editions/92) - Managing Chromedriver for Android Chrome and Webview Testing (https://appiumpro.com/editions/93) - Using the Appium Events API (https://appiumpro.com/editions/94) - The 'Android Data Matcher' Locator Strategy (https://appiumpro.com/editions/95) - Working With Cookies (https://appiumpro.com/editions/96) - Capturing App Launch Metrics On Android (https://appiumpro.com/editions/97) - Visual Testing With Appium, Part 1 (https://appiumpro.com/editions/98) - Visual Testing With Appium, Part 2 (https://appiumpro.com/editions/99) - Visual Testing With Appium, Part 3 (https://appiumpro.com/editions/100) - AI for Appium--and Selenium! (https://appiumpro.com/editions/101) - Mobile App Performance Testing (https://appiumpro.com/editions/102) - Free Tools For Mobile App Performance Testing With Appium (https://appiumpro.com/editions/103) - Simulating Different Network Conditions For Virtual Devices (https://appiumpro.com/editions/104) - Paid Tools And Services For Mobile App Performance Testing (https://appiumpro.com/editions/105) Tutorials - TOOLSQA (http://toolsqa.com/mobile-automation/appium/appium-tutorial/) - Appium tutorial for beginners (Android & iOS). - GURU99 (http://www.guru99.com/introduction-to-appium.html) - Appium tutorial for beginners. - QTPSELENIUM (http://qtpselenium.com/home/course/training/mobile-automation-appium-tutorial) - Appium tutorials. - Testing Diaries (http://www.testingdiaries.com/appium-tutorial/) - Appium Tutorial for Complete Beginners. - Appium Bootcamp (https://saucelabs.com/resources/articles/appium-bootcamp-chapter-1) - Appium Bootcamp by Sauce. - Appium Mobile Grid Setup (http://www.slideshare.net/justinison75/mobile-selenium-grid-setup) - The Mobile Grid – Getting Started for Android & iOS. - Selenium Camp 2016 (http://www.slideshare.net/justinison75/selenium-camp-2016) - Selenium Camp 2016. Blogs  - All about Appium Desired Capabilities (https://caps.cloudgrey.io/) - All about Appium's desired capabilities.  - Appium Architecture & Appium Desktop (https://www.zaizi.com/blog/appium-mobile-apps-automation-tool) - Appium Architecture, settings, etc (Updated)  - Appium Architecture (http://www.3pillarglobal.com/insights/appium-a-cross-browser-mobile-automation-tool) - Architecture of Appium.  - All about Appium (https://en.wordpress.com/tag/appium/) - All about Appium in Wordpress.  - Appium with Image Recognition (https://medium.com/@SimonKaz/appium-with-image-recognition-17a92abaa23d#.x19ffxwbk) - Appium with Image Recognition - Simon Kaz.  - Automate Android Actions using Appium (http://testingalert.com/automate-android-actions-using-appium/) - Automate Android Actions using Appium - kkashyap1707.  - Network Connection in Appium (https://medium.com/@eliasnogueira/how-to-deal-with-network-connection-in-appium-4-0-0-2134021fac25#.z5dfdv2jg) - How to deal with Network Connection from Appium 4.0.0 - Elias Nogueira.  - How to change language in Appium (https://medium.com/@eliasnogueira/appium-tips-changing-the-app-language-f0a1762dd927#.68mvqisri) - Appium Tips — Changing the app Language - Elias Nogueira.  - Automated UI testing of a UWP app using Appium (https://medium.com/@yostane/automated-ui-testing-of-a-uwp-app-using-appium-dc10d8df6631#.3efp60w1j) - Windows Application driver makes UWP Apps compatible using Appium - Yassine benabbas.  - Context Switching in Appium (https://medium.com/@kevinmarkvi/switching-to-a-dynamically-named-context-handle-with-appium-and-java-c78d2b972eb6#.2ylda6ul6) Switching to a Dynamically Named Context Handle with Appium and Java - Kevin Berg.  - A Robot Should Be Running Your Appium Tests (https://medium.com/devs-foodit/iphone-automation-with-a-one-fingered-robot-a2936c840285#.l37adndb3) - How to run Appium Tests using Robots. - Dan Cuellar.  - Appium Tests on Buddybuild (https://medium.com/@stipe.kolovrat/appium-cucumber-tests-up-running-on-buddybuild-8955a88ab589#.wsyazko3g) - Automates building, deploying and gathering feedback for mobile apps - Stipe Kolovrat.  - Android setup Linux (https://www.smashingmagazine.com/2016/04/from-zero-to-appium-guide-configuring-appium-android/) - 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 (http://graphwalker.github.io/appium-example/) - 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 (http://bitbar.com/mobile-game-testing-part-2-ui-and-functionality-image-recognition/) - MOBILE GAME TESTING – PART #2: UI AND FUNCTIONALITY + IMAGE RECOGNITION  - WinAppDriver (http://www.hanselman.com/blog/WinAppDriverTestAnyAppWithAppiumsSeleniumlikeTestsOnWindows.aspx) - WinAppDriver - Test any app with Appium's Selenium-like tests on Windows  - IMAGE RECOGNITION WITH APPIUM (http://bitbar.com/appium-tip-27-using-appium-for-mobile-game-testing/) - USING APPIUM FOR MOBILE GAME TESTING  - Uncover invisible changes in automated tests (https://sourcediving.com/how-to-uncover-invisible-changes-in-automated-tests-b6a5dbff564e) - By KazuCocoa  - Adding AI to Appium (https://medium.com/testdotai/adding-ai-to-appium-f8db38ea4fac) - By test.ai   Workshops - Appium Workshop Selnium Conf 2016 (https://github.com/isonic1/appium-workshop) - Repo for Appium Workshop at the 2016 Selenium Conference - Justin Ison. Cloud and Docker Solutions - Appium Tests in AWS Device Farm (https://github.com/awslabs/aws-device-farm-appium-tests-for-sample-app) - Sample Appium tests runs on AWS Device Farm. - Appium Tests in OpenSTF Device Farm (https://github.com/openstf/stf-appium-example) - Sample Appium tests runs on STF Device Farm. - Official Appium Docker Images (https://github.com/appium/appium-docker-android) - DockerFile for Appium Android Real Devices. - Appium Docker Images (https://github.com/butomo1989/docker-android) - DockerFile for Appium Android. - Appium Docker File (https://github.com/aluedeke/appium-android) - DockerFile for Appium Android. - Appium Docker File (https://github.com/softsam/docker-appium) - DockerFile for Appium Android. - TestingBot (https://testingbot.com) - Cloud based Device Farm, run Appium tests on physical Android and iOS devices. Git Books - Appium Essentials (https://www.packtpub.com/application-development/appium-essentials/?utm_source=POD&utm_medium=referral&utm_campaign=1784392480) - Explore mobile automation with Appium and discover new ways to test native, web, and hybrid  applications - Manoj Hans. - Appium for Android (https://www.gitbook.com/book/nishantverma/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 (https://github.com/priyankshah217/AppiumCucumberTest) - Sample Appium Cucumber Project. - Appium-Native-Crawler (https://github.com/isonic1/Appium-Native-Crawler) - Appium Native Crawler CLI - Features include: Screenshots, Performance, Accessibility Detection, Google Translate, Applitools, Monkey Tester. - coteafs-appium (https://github.com/WasiqB/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 (https://github.com/testvagrant/optimusTemplate) - Cucumber based Mobile Automation Framework, which supports test parallelization. - PageObject Pattern Framework (https://github.com/saikrishna321/PageObjectPatternAppium) - Sample Page Object Pattern Framework to use directly. - Parallel Framework Java-Client (https://github.com/saikrishna321/AppiumTestDistribution) - Run appium tests in parallel across iOS and Android devices. Community - Discuss (https://discuss.appium.io) - Stack Overflow (http://stackoverflow.com/questions/tagged/appium) - @appiumdevs on Twitter (https://twitter.com/AppiumDevs) - #appium on Slack (http://appium.slack.com) Tips Contribute some ;) Contribute Contributions welcome! Read the contribution guidelines (contributing.md) first. License !CC0 (http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg) (https://creativecommons.org/publicdomain/zero/1.0/) To the extent possible under law, Srinivasan Sekar (https://github.com/SrinivasanTarget) has waived all copyright and related or neighboring rights to this work. appium Github: https://github.com/SrinivasanTarget/awesome-appium