Mobile Application Testing with Appium

History

Let’s start with a little history first, back in 2011-2014, we were using tools like Selenium web driver( using Java and C# as a programming language) and Eggplant (Black Box Tool-Language used were Sensetalk) to automate test cases of Web Applications which were to run on Windows Operating System. Everything that used to run to web browsers only were expected to have mobile applications.

 

Explore

We started our exploration with Appium in 2015 to see if we can automate Native apps developed in Java(Android) or Objective C(iOS) and Hybrid apps. There were other tools too like calabash, Monkey Talk and Frank, but appium holds advantages like we don’t have to modify app code/ or install any external code to our app. Overall Appium concept includes Client-Server Architecture, Session, Desired capabilities, Appium Server, Appium Client, and Appium Desktop. Because we have experience using selenium with Java, it wasn’t difficult for us to understand Appium.

 

At Present

These days almost everyone dealing with mobile apps knows, Appium is an open-source automation framework used for testing mobile apps (Hybrid and Native) and applications run on browsers on mobile devices. There is a lot of help available online and anyone can start learning it. But before you jump to low level details it’s always better to understand how it works on a high level.

 

How It Works

Appium client and Appium server use JSON Wire Protocol to interact. All communication processes in the form of request and response.

 

The good thing is we can write our test scripts in any language (Java, Python, PHP, C#, and Javascript) and use any framework to maintain it. Appium server which is developed in node.js basically gets command executes those in mobile devices.

 

In order to connect with iOS and Android devices, appium needs Google UI Automator and Apple Instrumentation library.  

 

How Appium communicate with mobile apps

Appium needs an Instrumentation library or Google UI Automator for connection between iOS-Mac and Windows-Android. These libraries are also like a framework that helps appium to perform operations on mobile devices. These operations

Leave a Reply

Your email address will not be published. Required fields are marked *