Calabash
Calabash is a software which allows a person to write and utilize automated acceptance tests for mobile applications. The software supports Android and iOS apps for a cross-platform experience. It's also an open source software and free for use. Calabash is designed to use libraries which allow test code interactions with hybrid and native apps in a programming way. The main interaction is comprised of a large number of user actions. Each action could be one of the following: Gestures and touches like swiping, tapping, and rotating Assertions and notes on the application performance Screenshots of the current device's application model The company that maintains and developed Calabash, Xamarin, has created several commercial products which enhance the Calabash experience. Xamarin Test Cloud is a mobile testing lab based on the cloud. You can do Calabash tests on more than one thousand mobile devices stored in the cloud. The Xamarin Test Cloud creates automation framework and device clouds, taking some of the hassle out of finding test subjects. You can also select the test devices based on a number of factors including their manufacturer, operating system, form factor, or popularity in the target market. Calabash supports Cucumber coding. Cucumber is a coding language that allows a person to express their app's behavior using natural language instead of complex jargon. It's designed to be accessible to business experts and non-technical staff. Though Calabash was designed with a focus on Cucumber, it can also be used to write functional tests using any Ruby-based programming. Calabash differs from other automation app testing softwares by gearing itself toward apps running on touch screen devices. Most other app testing software is designed for use on the desktop, but Calabash carefully executes its code for access on the mobile devices that will host the app. This eliminates many potential problems because Calabash tests the app in its purest, most native environment.
- Ruby-based software that supports all Ruby programming
- Focus on Cucumber, a natural language code
- Availability for both Android and iOS applications
- Ability to control testing from a central computer rather than a mobile device
- Optional add-ons like the Xamarin Test Cloud
- Constantly evolving, open source code
- Multiple libraries to allow app testing in multiple variations
- Calabash uses Ruby, which is a more flexible and easy-to-read language than Java
- Tests can be controlled from a computer instead of the testing device
- High level commands are part of the software, so complex testing is easy to utilize
- Feature files can be written in Cucumber, a natural language code
- Calabash is available for both Android and iOS apps
- Inspecting all elements can be difficult
- The Android Application Package must be installed in order to run the tests
- OEM customizations for testing on multiple hardware types can be complicated
- Small user community makes for a slow troubleshooting experience