Appium Mobile Automation Testing
What is Appium?
Appium is an open source mobile automation tool that provides support for iOS, FirefoxOS and Android applications, supporting hybrid applications as well.
Why Appium?
Being an open source tool gives Appium a huge advantage in terms of cost effectiveness, but is not the only advantage that it provides to a mobile quality assurance team. The tool supports the three main mobile platforms listed above with the capability of running any tests on either the existing simulators for such platforms and also the capability to run over the actual devices connected to the host computer where the Appium framework is running.
In terms of learning processes, Appium stands ahead as it supports the major client libraries (Java, Ruby, Python, PHP, JavaScript, and C#) to handle Appium’s extensions with WebDriver protocol seamlessly. This provides a low learning curve as the testers are able to select the language that suits them best, allowing full access to back-end APIs and DBs from test code.
Basics of Appium
The tool itself took certain advantages from Selenium WebDriver JSON Wire Protocol, allowing users to run the tests with the desired mobile capabilities through Appium. This enables the users to run the same code on Android and IOS devices.
Cons
UI elements can be an issue sometimes as Appium is unable to recognize all the elements. UI Automator has normal access on labels, e.g. text, description… etc., but when some elements share the same text, indexes need to be added for instantiations. An example would be on a weather application when 2 items share a text like “cloudy” and “partially cloudy,” that “cloudy” portion of text shared by both labels can cause issues.
Gestures: Also, Appium gives limited support for gestures, like complex 4 fingers scroll down. So, if your app consists of simple gestures, like tap’s, you will be fine. Otherwise, you will need to prepare complex javascript code that will involve additional unestimated time.
iOS: On iOS, there is an issue related to the various device testing, as MacOS will allow you to run only one device per instance. So, if the purpose is to execute on several devices at the same time, then the same amount of Macs will be required.
Android: On Android devices, the UI Automator only supports Android SDK API 16 or above, making this a limitation for older API’s. This forces the users to access another open source library named Selendroid.
Conclusions
Appium is definitely the path to follow on mobile test automation. It is a solid tool with a wide framework interoperability. However, we all know that it is still under a heavy improvements development stage. But, this makes it even more attractive, as the best of the tool has not yet arrived and we are anxiously waiting for it.
—
Gorilla Logic hires only the best software engineers. Think you have what it takes to be a gorilla? Check out our careers section and follow us on Twitter by clicking below.