Family of Open Test Framework for Android App Automation

Android application automation can be supported by using the following frameworks, which are open source. Mobile Application functional testing(acceptance) and regression testing can be covered using the different framework as mentioned below. All the binary files and source file are available in the github.

Family of Frameworks
Family of Frameworks

Robotium is an Android test framework that has full support for native, hybrid and mobile web application. Robotium is Instrumentation specific Open Test Framework maintained by Google community. Robotium JAR will be integrated with the IDE. Test Script will be created by using programming language such as Java and it will be integrated with Android Junit4. Test package will be created based on the written test script and test package directly interacts with the instrumentation runner available in the Android Dalvik Virtual Machine. The same request will trigger user action in the target package which is nothing but the mobile application to test.

It is used to perform the instrumentation specific testing in which without getting the source code, mobile application can be automated using the APK to cover the blackbox testing.

Espresso is an Android test automation framework used to test the native application. All the activities specific action can be tested by using the Espresso. It was released by Google.

It will concentrate only on the user interface testing in accordance with the unit testing point of view. The work mechanism behind the Espresso is as follows;

ViewMatchers – allows to find view in the current view hierarchy

ViewActions – allows to perform actions on the views (Click, swipe etc,.)

ViewAssertions – allows to assert state of a view (True or False)

Calabash is a behavior driven development and it is a open test framework used to automate the android mobile application such as Native, Hybrid and Mobile Web. It’s working mechanism is nothing but the cucumber Gherkin has been integrated with the calabash gem to execute the test scripts written as a feature file.

It’s a open source framework available in GitHub with the source information. You can run the test script in the multiple number of emulators/real devices connected in the single machine. Test steps written in the simple English language has been executed to trigger certain actions in the mobile application. It’s working under the instrumentation runner as specified in the family tree of test frameworks.

UI Automator testing framework provides a set of APIs to build UI tests that perform interactions on user apps and system apps. The UI Automator APIs allows you to perform operations such as opening the Settings menu or the app launcher in a test device.

The UI Automator testing framework is well-suited for writing black box automated tests, where the test code does not rely on internal implementation details of the target app. It will directly interact with the UI elements associated with the mobile application, which trigger all the user actions such as entering the text in the text box, click action, swipe, drag to, multi-touch etc,.

Appium is an open-source tool for automating native, mobile web, and hybrid applications on Android platforms. Native apps are those written using the Android SDKs. Mobile web apps are web apps accessed using a mobile browser. Hybrid apps have a wrapper around a “webview” — a native control that enables interaction with web content.

Appium aims to automate any mobile app from any language and any test framework, with full access to back-end APIs and database from test code. Write tests with your favorite dev tools using all the above programming languages, and probably more (with the Selenium WebDriver API and language-specific client libraries).

Appium test script written in IDE will interact with the Appium Server which is nothing but the node server with the specified IP address and port number. Node server again pass the request to mobile devices or emulator using the uiautomator as a JSON format. All the UI elements associated with the mobile application can be controlled by using the appium client which is nothing but the derived one of selenium.

Appium Work Flow
Comparison Matrix
Comparison Matrix

8 thoughts on “Family of Open Test Framework for Android App Automation

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s