Let’s learn about the Mobile Testing using Appium. Let’s see, What is Appium, Use of Appium, Application of Appium, the advantage of Appium.
What is Mobile Automation?
Android & iOS are the most popular mobile OS in these days. Millions of app designed for mobile platforms that need to be tested.
There are broadly 2 kinds of testing that take place on mobile devices:
1. Hardware Testing
2. Software Testing
Here, We will talk about Mobile Software Testing.
In Mobile Software testing, we refer the term Mobile Application Testing. The applications that work on mobile devices and their functionality are tested. It is called the “Mobile Application Testing” to differentiate it from the earlier method. There are three kinds of Mobile Apps present –
Native apps: the Native application is platform dependent and is created for use on a platform like mobile and tablets. i.e Whatsapp, Amazon App, Mobile Music App etc.
Mobile web apps: Mobile web apps are server-side apps to access website/s on mobile using different browsers like chrome, Firefox. Like you can see many mobile web apps are available like facebook, Flipkart etc.
Hybrid apps: Hybrid apps are combinations of native app and web app. They run on devices or offline and are written using web technologies like HTML5 and CSS.
Mobile Apps should be work on different platforms like different versions of Android and IOS and it should work on different screen resolution like a mobile tablet. In this way to Test Mobile manually a bit difficult task that’s why you need mobile Automation.
In Mobile Automation, you write the Test Scripts and can run these scripts on desired device or platform version to Test the Application. There are many tools available for mobile Automation like Appium, Selendroid, IOS Driver, Calabash etc. We will discuss and learn about the Appium tool.
Appium is an open source mobile test automation tool developed and supported by Sauce Labs, Appium supports automation of native and hybrid mobile apps. Appium is also known as a Cross-browser Mobile Automation Tool.
APPIUM uses JSON wire protocol internally to interact with iOS and Android native apps using the Selenium WebDriver.
JSON wire protocol is used by Selenium WebDriver to communicate with the APPIUM. Let’s understand this using a diagram.
APPIUM is built on the top of Selenium WebDriver, Webdriver communicates with the APPIUM using JSON wire Protocol, Whatever command fire by Selenium Webdriver, they are communicating with the APPIUM via JSON wire Protocol.
Appium is an HTTP server written in node.js which creates and handles multiple WebDriver
sessions for different platforms like iOS and Android.
APIUM works in Android
As we discussed, Selenium WebDriver communicates with the APPIUM using JSON wire protocol and APPIUM uses UIAutomator to communicate with the Android mobile Application.
UIAutomator is part of Andriod, UIAutomator is an engine which communicates with the Mobile App. UIAutomator is Android’s native UI automation framework which supports running JUnit test cases directly into the device from the command line.It uses java as a programming language but Appium will make it run from any of the WebDriver supported languages.
Need of APPIUM?
Appium can make your mobile app regression testing task easy. Especially for large mobile apps where continues apps are updating with new features and functionalities. Another main benefit of using Appium for mobile app automation is : It supports bellow given multiple platforms like – Andriod, IOS, firefoxOS