Appium: A Mobile Application Automation Testing Tool
Appium is one of the open-source mobile application automation testing tools for automating native, mobile web, and hybrid applications on iOS and Android platforms. Native apps are apps which are written using iOS or Android SDKs. Mobile web apps are web apps that are accessed using a mobile browser. Hybrid apps combine the elements of both the web and native applications.
Importantly, Appium is “cross-platform”: we can write tests against multiple platforms (iOS, Android), using the same API. This enables reuse of code between iOS and Android test suites.
Appium: Mobile Application Automation Testing Tool
Appium supports the following platforms:
Appium supports following languages with the Selenium WebDriver API and language-specific client libraries.
Appium has client/server architecture and exposes a REST API. The test code can be written in any language that has an http client API, but it is easier to use one of the Appium client libraries. The server can be in some other machine when the tests are running on. We can write test code and rely on a cloud service like Sauce Labs to receive and interpret the commands.
Automation in Appium is performed in the context of a session. Clients initiate a POST/session request to the server, with a JSON object called the ‘desired capabilities’ object. The server starts up the automation session and creates a session ID that will send further commands.
Desired capabilities are a set of keys and values (like a map or hash) that are sent to the Appium server to inform the server about the kind of automation session that will start up. They modify the behaviour of the server during automation.
Appium is a server that is written in Node.js that can be built and installed from source.
The exe needs to be downloaded and executed. This exe contains everything that is required to run the Appium server.
Appium makes mobile application regression testing task easy, especially for large mobile applications where apps are updated with new features and functionalities. Another main benefit of using Appium for mobile applications automation is it supports the multiple platforms and languages. It can also use any testing framework.
How does Appium work in iOS Mobile Application?
How does Appium work in Android Mobile Application?
UI Automaton which is Android’s native UI automation framework is used to execute the test cases directly into the device from the command line. Here, Java is used as the programming language. Appium will make it run from any WebDriver supported languages.
Limitations of Appium
- For Android, there is no Support for Android API level < 17
- Script execution is very slow on iOS platform
Setting up of Appium
Below mentioned are the steps for setting up Appium
- Install the Java Development Kit
- Set up Java Environment Variable path
- Install Android SDK / ADB on Windows and Android SDK packages
- Set up the Android Environment Variable
- Download and install NodeJs and Microsoft .Net framework
- Download and install the Appium Desktop Client
- Enable Developer mode option on Android phone or tablet
- Install PdaNet to connect with Android device
- Install Eclipse IDE and setup a project
- Setup Appium project in Eclipse
Reference site for setting up Appium:
If you have any query on Mobile Application Automation Testing, please drop us a mail at email@example.com