Tools & Techniques

Get started with Mobile App Automation | How to setup Appium Environment for Android Automation

Appium is an open source, cross-platform Test automation tool for native, hybrid and mobile web apps, tested on simulators (iOS, FirefoxOS), emulators (Android), and real devices (iOS, Android, FirefoxOS). Appium drives various native automation frameworks and provides an API based on Selenium’s WebDriver JSON wire protocol. Android support uses the UiAutomator framework for newer platforms and Selendroid for older Android platforms.

How Appium works

The client/server pattern helps Appium achieve multi-platform testability, once a test is written it is executed in the client/test station. Thanks to Google’s JSON [seleniumwebdriver], Appium is able to have tests send commands to devices through the test server. When writing Appium tests, the code will simply perform HTTP calls to the server which will translate those meta-commands into device-specific actions sent to the device to test. Commands are essentially user interactions with the app like clicking an interface component, swiping on the screen, scrolling onto a particular area or performing a specific gesture.

Why Appium?

  • You don’t have to recompile your app or modify it in any way, due to use of standard automation APIs on all platforms.
  • You can write tests with your favorite dev tools using any WebDriver-compatible language such as Java, Objective-C, JavaScript with Node.js, PHP, Python, Ruby, C#, Clojure, or Perl with the Selenium WebDriver API and language-specific client libraries.
  • You can use any testing framework.

Requirements

Your environment needs to be setup for the particular mobile platforms that you want to run tests on. See below for particular platform requirements.

  • Android SDK API >= 17 (Additional features require 18/19)
  • Java Development Kit (JDK)
  • TestNG
  • Eclipse
  • Selenium Server JAR
  • Webdriver Language Binding Library

You also need to download the Appium client for your language so you can write tests. The Appium clients are simple extensions to the WebDriver clients. You can see the list of clients and links to download instructions at the Appium clients list.

Steps to Install & Setup APPIUM

1. Install Android SDK in your system. Make sure ‘Environment Variables’ path is set to ANDROID_HOME variable that point to your SDK directory.

Android Studio Features

2. Download Appium from the Appium Website

Download Appium

3. A ZIP file is downloaded successfully – AppiumForWindows

Appium for Windows ZIP file

4. Unzip the file & run the Setup.exe file >> ‘Select Setup Language’ pop-up is displayed >> Select ‘English’.

Select setup language for Appium

5. Appium Setup Wizard is opened ‘Setup – Appium’ >> Click Next to continue

Appium Setup Wizard

6. Select the Destination location for Appium Installation. Let it be default ‘Program Files’. Please note the free disk space message at the bottom (101.4 MB in this case)

Appium Install Location

7. Select the Start Menu Folder for the Shortcut. Let it be default ‘Appium’, a new folder will be created.

Appium Shortcut

8. Select additional tasks like ‘Create a Desktop icon’ & click Next.

Create a Desktop Icon

9. Click ‘Install’ in ‘Ready to Install’ wizard.

Install Appium

10. Installation starts. Please wait while Setup installs Appium, this might take few minutes.

Appium Installation

11. Your Appium Installation is complete. Select ‘Launch Appium’ checkbox & click ‘Finish’

Launch Appium

12. Kick up an Appium server, and then run a test written in your favorite WebDriver-compatible language!

Appium Automation

Happy Automation!!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s