Appium
Mobile Testing Tools-Appium is an open-source tool that answers few needs:
It is an automating native, mobile web, and hybrid applications on iOS and Android platforms.

Native apps are applications written using iOS, Android, or Windows SDKs.
Mobile web apps are web applications you can access using a mobile browser, Which Appium give you support with Safai on iOS and Chrome on Android.
Hybrid apps are a native control that enables interaction with web content.
Most importantly, Mobile Testing Tools-Appium is “cross-platform” that allows you to write tests against multiple platforms while using the same API.

Appium is a webserver that exposes a REST API.
It receives connections from a client, taking commands and translate them to test actions and executes those commands on a mobile device.
They have a client/server architecture that opens up a lot of possibilities: They can use any language for the test code that has an http client API. They can write test code and rely on a cloud service like Sauce Labs to receive and interpret the commands.
As a user you can initiate a session with a server in ways specific to each library, at the end the system is sending a POST /session request to the server, with a JSON object called the ‘desired capabilities’ object.
At this point the server will start up the automation session and respond with a session ID which is used for sending further commands.

With Mobile Testing Tools-Appium it is easy to set your desired capabilities. You can call it a set of keys and values that tell the server what kind of automation session we’re interested in starting up.
Requirements for using Appium:
iOS
Mac OSX 10.7+
XCode 4.5+ w/ Command Line Tools
Android
Mac OSX 10.7+ or Windows 7+ or Linux
Android SDK ≥ 16 (SDK < 16 in Selendroid mode)


