APPIUM is a freely distributed open source mobile application UI Testing framework. It allows native, hybrid and web application testing and supports automation test on physical devices as well as on emulator or simulator both. It offers cross-platform application testing i.e. single API works for both Android and iOS platform test scripts.
- Appium is an ‘HTTP Server’ written using Node.js platform and drives iOS and Android session using Webdriver JSON wire protocol. Hence, before initialising the Appium Server,Node.js must be pre-installed on the system.
- When Appium is downloaded and installed, then a server is setup on our machine that exposes a REST API.
- It receives connection and command request from the client and execute that command on mobile devices (Android / iOS).
- It responds back with HTTP responses. Again, to execute this request, it uses the mobile test automation frameworks to drive the user interface of the apps. Framework like:-
- Apple Instruments for iOS (Instruments are available only in Xcode 3.0 or later with OS X v10.5 and later)
- Google UIAutomator for Android API level 16 or higher
- Selendroid for Android API level 15 or less
So this server basically exposes REST api which performs the following actions:
1) Receives connection from client 2) Listen command 3) Execute command 4) Respond back the command execution status