Native mobile apps usually work faster, smoother and these result in a better user experience. And, web designers/developers always look for new ways to catch this performance with web technologies. Mobile Application Developers, while able to produce amazing applications, are limited by the native browsers own limited functionality. Basic features available on desktop browsers are completely absent from mobile browsers. The ability to view source code, debug JavaScript, or even execute a JavaScript command from a console is all tools developers have come to expect while developing websites.
For this roundup we have compiled a list of 12 Best Mobile App Testing Frameworks for mobile programmers that will help them to test, debug and execute their web applications on various browsers and devices. If you are aware of some other useful mobile app testing frameworks, please let us know by posting a comment below.
1. Appium
Appium is an open source framework which helps automating mobile app testing from any language and any test framework, with full access to back-end APIs and DBs from test code. It works for both iOS + Android apps and tests can be written with Java, Objective-C, JavaScript, PHP, Python, Ruby, C#, Clojure, or Perl. The framework is Mac OS X only and requires Nodejs to run.
2. Mobile Testing Framework
The Mobile Testing Framework (MTF) is an alpha-state open source project to automate GUI/System tests for iPhone/iPad applications. MTF is based on the automation tool Sikuli which allows interacting with the User interface with python scripts and screenshots.
3. Calabash
Calabash enables you to write and execute automated acceptance tests of mobile apps. Calabash is cross-platform, supporting Android and iOS native apps. It is open source and free, and has a company, Xamarin, backing and developing it. Calabash consists of libraries that enable test-code to programmatically interact with native and hybrid apps. The interaction consists of a number of end-user actions.
4. KIF
KIF, which stands for Keep It Functional, is an iOS integration test framework. It allows for easy automation of iOS apps by leveraging the accessibility attributes that the OS makes available for those with visual disabilities. KIF builds and performs the tests using a standard XCTest testing target. Testing is conducted synchronously in the main thread (running the run loop to force the passage of time) allowing for more complex logic and composition.
5. Titanium Jasmine
Titanium-jasmine provides testing for Appcelerator’s Titanium Mobile applications using Pivotal’s Jasmine as the core testing framework. titanium-jasmine puts together Jasmine and Titanium Mobile, so you can write Jasmine tests that will run inside your iPhone, iPad and Android applications. titanium-jasmine is a really simple testing framework that will help you test your Titanium Mobile applications properly.
6. Testing with Frankk
Frank allows you to write structured text test/acceptance tests/requirements (using Cucumber) and have them execute against your iOS application, Frank also includes a powerful “app inspector” (called Symbiote) that you can use to get detailed information on your running app.
7. Switchboard
Switchboard – easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. Switchboard segments your users consistently. Because user segmentation is based only on UUID that is computed once, the experience you switch on and off using Switchboard is consistent across sessions.
8. Flip Test
FlipTest allows you to run A/B tests on iOS apps without having to re-submit the app to the App Store or make significant modifications to your code. It only requires adding a single line of code to your iOS app. With FlipTest, even non-developers can easily create and monitor A/B tests. No coding necessary.
9. ReactiveUI
A MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform. Supports Xamarin.iOS, Xamarin.Android, Xamarin.Mac, WPF, Windows Forms, Windows Phone 8 and Windows Store apps.
10. Catjs
CatJS is an automation framework for (mobile) web applications testing. It offers a new technology that makes testing easy, we don’t do WebDriver like the other technologies, in our case the applications test themselves. With simple annotations added to your HTML5 code, an automated functional tests will be available as part of your application lifecycle.
11. YSO Mobile Security Framework
YSO Mobile Security Framework is an intelligent, all-in-one open source mobile application (Android/iOS) automated pen-testing framework capable of performing static and dynamic analysis. We’ve been depending on multiple tools to carry out reversing, decoding, debugging, code review, and pen-test and this process requires a lot of effort and time. YSO Mobile Security Framework can be used for effective and fast security analysis of Android APK/Android app source code/iOS app source code.
12. Imagrium
Imagrium is a Jython framework for cross-platform testing of mobile applications basing on the image recognition method (and distributed under the MIT License terms).