Appium – The Trend Of Mobile Application Automation

Due to the increase of Mobile Technology, testing needs to compete with the relevant hardware and software complexities in the terms of volume and variety. At this point, test automation is the only key possible to handle the situation. Appium is an automation tool for automating the mobile applications like Native and Hybrid. It is a cross browser test automation tool which is used for writing test for numerous platforms using the same API and also facilitates code reuse.

What is meant by Mobile Automation Testing?

Mobile Automated Testing implements a structure to repeat a test method and check application outcomes constantly. It is efficient for regression testing all along development. Testing mobile applications is distinct and further complex than testing regular desktop and web applications.

Introduction To Appium

Appium is an open source test automation tool for mobile applications. It grants you to test Native, hybrid and mobile web applications and also allows to run the automated tests on actual devices, emulators and simulators. You can get free demo on Appium Online Training at TekSlate.

Appium library has prolonged RemoteWebDriver class of Selenium API and designed AndroidDriver and IOSDriver classes to hold mobile automation on the platforms of Android and IOS.

Appium Architecture

Appium is an HTTP server, written in Node.js which designs and handles various WebDriver sessions. Appium is evolved from Selenium and uses JSONWireProtocol internally to interact with iOS and Android applications by using Selenium WebDriver.

Architecture diagram, shows how Appium can be explained.

There are 3 types of mobile applications that can be automated using Appium:

# Native apps are created especially for device and operating system. These apps are installed on mobile appliances which can be downloaded from a App store or Google Play store and then initiated on the device.

This app is written in a programming language unique for a platform.

# Mobile web apps are the apps which are accessed by using mobile browser. These apps need not to be installed because they are invented to simply make a content or components accessible on mobile.

# Hybrid apps have a casing around a “webview” which facilitates communication with web content. This app is a web app that converts to natural code on a platform like IOS or Android. It uses a browser view and holds to let on web app to approach features on your mobile device.

    Appium server basically exposes REST api which performs the following actions:

  • Receives connection from client
  • Listen command
  • Execute command
  • Respond back the command execution status

Working of Appium

Appium is identical to Selenium in terms of intercommunication and architecture. It adopts JSON-wire protocol for communication and handles script advancement in languages like C#,PHP,Ruby,Python,Java,Java Script

Appium will use automation frame of reference that comes with Software Development Kits(SDK) of Android/IOS.

Appium uses UIAutomator on Android and UIAutomation on IOS.

What is new in Appium 1.6.0

When appium 1.6.0 released, appium started using UiAutomator 2.

Till now appium was primarily using Google’s UiAutomator framework as the primary way of automating native Android apps.

To use UiAutomator 2, we can specify

automationName: uiautomator2

Prerequisites: This module should support from Android 5.0 (API Level 20) and above.

Advantages of Appium

  1. Appium is Free and mostly Open Source.
  2. Appium supports both iOS and Android.
  3. Excellent support for android > 4.1
  4. No server or no code changes required.
  5. Appium has active Google Group.

Limitations using APPIUM

  1. Testing of Android Version lower than 4.2, does not support in Appium.
  2. Appium is limited support for hybrid app testing.
  3. In Microsoft Windows there is no support to run Appium Inspector.


Applications exhibiting high performance must be designed and developed as soon as possible due to steady advancement in mobile technology. Testing these applications before their launch is extremely important especially for those which perform the functions which are highly critical. High performance of an application in a short period is ensured by test automation. Applications which are efficient, rich in quality, free from bugs are ensured by Appium which saves lot of labor, time and cost of the project.