Appium is a free open-source test automation framework for testing native & hybrid apps and mobile web apps. It drives iOS and Android apps using the WebDriver protocol and supports automation test on physical devices as well as an emulator or simulator.
Appium supports all programming languages that have Selenium client libraries like Java, JavaScript with node.js, PHP, Ruby, Python, C#, etc.
It has NO dependency on Mobile device OS. Because APPIUM has framework or wrapper that translate Selenium Web-driver commands into UIAutomation (iOS) or UIAutomator (Android) commands depending on the device type, not any OS type.
Advantages of Appium:
- It supports both Android and iOS
- Allows testers to use real devices, emulator and simulators
- It is free and open source
- Enable testers to automate apps without adding extra components
- It has a very well supported and active Google group
- It is in the Selenium web driver spec so should be future proof
Disadvantages of Appium:
- Does not support older versions of android
- No support for intelligent waits
- On iOS, you can only execute one test at a time per Mac
- Limited support for gestures
Prerequisite to use Appium:
- The prerequisites to use Appium is Java SDK (minimum 1.6)
- Download and install JDK and JRE from Oracle JavaSE
- Download Android Studio
- Before initializing the Appium Server, Node.js must be pre-installed on the system
- Download any programming language