The web has seen a dramatic change over the past few years with mobile becoming a big part of the overall experience. Test automation is a key enabler for Agile software development and subsequently for continuous integration and delivery. Mobile Automation Testing is very useful to test your app “while you sleep”. Many software companies are suddenly challenged with having to provide solid Test automation for mobile with its two flavors of mobile web and native apps.
Top 11 Mobile Automation Testing tools
An open source Mobile Automation Testing framework which drives off the UI of Android native and hybrid apps and the mobile web. Tests are written using the Selenium 2 client API. Selendroid can be used on emulators and real devices and can be integrated as a node into the Selenium Grid for scaling and parallel testing.
To download Selendroid, click here!
Automate any iOS native, hybrid, or mobile web application using the Selenium / WebDriver API. iOS-driver is fully compatible with the Selenium / Web driver API. iOS Mobile Automation Testing is therefore as easy as automation for a browser. iOS-driver fully integrates with Selenium Grid so you can reuse your existing web automation infrastructure.
Using simulators is the default way to use iOS-driver. It offers more flexibility, and it is faster than tests on a real device. However, if your specific needs require tests on real device, in the next release, iOS-driver will also support devices without having to make any modifications!
To download iOS-driver, click here!
Appium is an open source, cross-platform Mobile Automation Testing tool for native, hybrid and mobile web apps, tested on simulators (iOS, FirefoxOS), emulators (Android), and real devices (iOS, Android, FirefoxOS). It drives iOS and Android apps using the WebDriver protocol.
Appium aims to automate any mobile app from any language and any test framework, with full access to back-end APIs and DBs from test code. Importantly, Appium is “cross-platform”: it allows you to write tests against multiple platforms (iOS, Android), using the same API. This enables a large or total amount of code reuse between iOS and Android test suites.
To download Appium, click here!
Robotium is an open-source Android Mobile Automation Testing framework for testing native and hybrid android applications. With the support of Robotium, test case developers can write function, system and acceptance test scenarios, spanning multiple Android activities. Robotium tests can be run on both emulator and device.
Robotium can be used both for testing applications where the source code is available and applications where only the APK file is available and the implementation details are not known. Test developers don’t need any further information about the Android app’s structure or implemented classes. All they need is the name of the main class and the path that links to it.
To install Robotium, click here!
To read more about UI Automation, click here!
Monkey Talk is open source Mobile Automation Testing tool for Android and iOS. Monkey Talk is a simple-to-use tool with incredible power. Automate real, functional interactive tests for iOS, Android, Web/HTML5, Hybrid, and Flex apps – everything from simple “smoke tests” to sophisticated data-driven test suites.
The MonkeyTalk platform consists of two primary components: Monkey Talk IDE and Monkey Talk Agents. Monkey Talk IDE is Eclipse based tool that records, plays, edits, and manages functional test suites for iOS and Android applications running on simulators, emulators, and devices. Money Talk Agents are libraries for iOS and Android that must be linked into applications to be tested. The agents enable applications to record and play Monkey Talk Commands. Each command performs a user interface action or verification step.
MonkeyTalk is now acquired by Oracle, read here!
KIF, which stands for Keep It Functional, is an open source iOS integration test framework that allows you to implement test cases with objective C that can be executed, currently only, against the iPhone/ iPad simulator. The KIF tests are integrated to XCode workspace, there is no need for additional servers or services that must be started. It allows easy automation of iOS applications, taking advantage of the attributes of accessibility that the operating system provides to people with visual impairments.
KIF is like a Grey Box Test Tool because you need knowledge of the structure of the App you want to test. With KIF you are able to simulate real user interaction like tap, click, drag, enter text and many more. Also you are able to verify elements on the screen.
KIF uses undocumented Apple APIs. This is true of most iOS testing frameworks, and is safe for testing purposes, but it’s important that KIF does not make it into production code, as it will get your app submission denied by Apple. You can install this framework manually or from CocoaPods.
To download KIF, click here!
UI Automator is a Mobile Automation Testing framework provided by the Android Testing Support Library. The UI Automator APIs let you interact with visible elements on a device, regardless of which activity is in focus. Your test can look up a UI component by using convenient descriptors such as the text displayed in that component or its content description. UI Automator tests can run on devices running Android 4.3 (API level 18) or higher. UI Automator is an instrumentation-based API and works with the AndroidJUnitRunner test runner.
A user interface (UI) test that involves user interactions across multiple apps lets you verify that your app behaves correctly when the user flow crosses into other apps or into the system UI. An example of such a user flow is a messaging app that lets the user enter a text message, launches the Android contact picker so that the users can select recipients to send the message to, and then returns control to the original app for the user to submit the message.
Visit Android Developer community to know more!
Monkey Runner is a Mobile Automation Testing tool from Android SDK which provides an API using commands to execute tests in Android devices or Android emulators. With MonkeyRunner, you can write a Python program that installs an Android application or test package, runs it, sends keystrokes to it, takes screenshots of its user interface, and stores screenshots on the workstation. The MonkeyRunner tool is primarily designed to test applications and devices at the functional/framework level and for running unit test suites, but you are free to use it for other purposes.
Visit Android Developer community to know more!
Frank is an automated acceptance testing framework for iOS applications that’s based on Cucumber. Frank embeds a small objective-C http server into the test version of app which will be run when the app gets started. Via this internal http server the cucumber part of frank will send commands to the app to remote control it (taps, button taps, filling texts and so on) or to look for UI elements.
To know more about Mobile Automation Testing using Frank, click here!
Calabash is a free open source Mobile Automation Testing framework that enables Automated UI Acceptance Tests for Android and iOS native and hybrid applications.
Calabash works by enabling automatic UI interactions within an application such as pressing buttons, entering text, validating responses, etc. With Test Cloud, Calabash tests can be configured to run on hundreds of different devices, providing real-time feedback and validation across many disparate form factors and OS versions. Furthermore, Calabash testing in Test Cloud can be added as a step in a Continuous Integration (CI) solution that gets automatically run when new code is checked in, providing immediate feedback to developers when app behavior is broken.
The list doesn’t end here. You are most welcome to share your Mobile Automation Testing experience!