Automation has been listed as one of the top information technology trends by reputed analysts and consultants such as Gartner, PwC, Forrester and more for both 2015 and 2016. Automation has helped simplify almost every task across the software development lifecycle, but none has been influenced by automation as much as the process of software testing. Automation Tools are able to run more use cases and explore more scenarios across platforms much faster than humans can, providing unique cost and time savings.

At the heart of software testing automation are concepts of code reusability and cross-platform execution. There are several tools in the market today that allow developers and testers to speed up the testing process by automating and executing test cases and scripts. One of the most popular of such softwares is Appium.

  • Facebook
  • Twitter
  • LinkedIn

What is Appium?

Appium is an open source test automation tool for mobile applications. It allows you to test all the three types of mobile applications: native, hybrid and mobile web. App developers usually develop Apps for both iOS and Android. This mobile automation testing tool allows testing across both platforms and lets you choose the language you want to write your test in. It doesn’t dictate the language or framework to be used.

Computer Requirements

For Android:

  • Mac OSX 10.7+ or Windows 7+ or Linux
  • Android SDK >= 16

For iOS:

  • Mac OSX 10.7+ (Recommended 10.8+)
  • Xcode 4.5+ with Command Line Tools

Why use Appium?

  1. While Appium’s capabilities are many, the biggest benefit is that you don’t have to recompile your app or modify it in any way, due to use of standard automation APIs on all platforms.
  2. You can write tests with your favorite dev tools using any WebDriver-compatible language such as Java, Objective-C, JavaScript with Node.js (in both callback and yield-based flavors), PHP, Python, Ruby, C#, Clojure, or Perl with the Selenium WebDriver API and language-specific client libraries.
  3. You can use any testing framework with Appium tool.

Appium Performance

Appium is not a huge application and requires very little memory. Its architecture is actually pretty simple and light, as Appium acts like a proxy between your test machine and each platform automation toolkit. Once up and running, Appium tool will listen to HTTP requests from your tests.

Requirements for Writing Appium Tests

For writing Appium tests you require:

  • Driver Client: Appium tool drives mobile applications as though it were a user. Using a client library, you write your Appium tests which wrap your test steps and sends to the Appium server over HTTP.
  • Appium Session: You have to first initialize a session, as such Appium test takes place in the session. Once the Automation is done for one session, it can be ended and the second session started as and when.
  • Desired Capabilities: To initialize an Appium session you need to define certain parameters known as “desired capabilities” like Platform Name, Platform Version, Device Name and so on. It specifies the kind of automation one requires from the Appium server.
  • Driver Commands: You can write your test steps using a large and expressive vocabulary of commands.

Learning Appium

betterU offers a beginner’s course in Appium from Udemy. Udemy is a global marketplace for learning and teaching online where students are mastering new skills and achieving their goals by learning from an extensive library of over 40,000 courses taught by expert instructors. The instructor is Mr. Srikanth Vejendla; he has 9+ years experience in the field of Quality Assurance and Test Automation.