![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbdwwQgJGS4LVOitgODRdK4cumZayUrEdTKqwJQzDyreVNQ_5Qyk10gsrfa3h5a0EAd2g_MIfUH73kzbpw_t4O34wMXWxxdQFnJjY-hBbPkQXv9z5b-lZBXpdErQat29TdqA5svhPRbJk/s1600/appium.png)
Appium is an open source tool for mobile test automation, you can automate functional test cases for Android and iOS application. As in my some previous posts, I explained Calabash and I just used Ruby for writing test cases because Calabash only supports Ruby and as I know they have plan to support Java. However Appium doesn't have this language constriction. Since it uses Webdriver, it supports the languages which are supported by Webdriver. It means that Java, Objective-C, PHP, Python, C#, Clojure, Perl, JavaScript with Node.js and plus Ruby are supported. You just install the language client you want to test and then write your test cases. Check for the client for your favourite languages from Appium page.
Install Appium:
npm install -g appium
Install Appium Client:
npm install wd
Install Python Appium Client:
pip install Appium-Python-Client
Ensure that you have Python installed, recommend to have 2.7 or above:
python --version
Ensure that you have virtual or real devices for Android
adb -d devices
Run Appium
appium &
For iOS Testing
Download the application from Google developer page and then run it in Xcode. Then you need to set the path, it should look like:
~/Library/Developer/Xcode/DerivedData/GooglePlusSample-fxjpokrypvmgvlgetxqntrndhvhu/Build/Products/Debug-iphonesimulator/GooglePlusPlatformSample.app
For Android Testing
Download the sampleAndroidProjectToAutomate.apk file from github. Create a android virtual device you can use Android AVD or Genymotion. Then set the app path, it should look like:
'<path-to-project>/mobile_automation/calabash_android_automation/sampleAndroidProjectToAutomate.apk'