Automated acceptance testing for mobile apps

Calabash enables you to write and execute automated acceptance tests of mobile apps. It’s cross-platform, supporting Android and iOS native apps. It’s also open source and free, developed and maintained by Xamarin.

Calabash consists of libraries that enable test code to interact programmatically with native and hybrid apps. The interaction consists of a number of end-user actions. Each action can be one of these:

Xamarin Test Cloud

Use Calabash to automatically test your app on over 1,000 devices in the cloud

Test Cloud screenshot

While Calabash is completely free, Xamarin, the company that developed and maintains Calabash, provides a number of commercial products and services centered around Calabash and quality assurance for mobile.

Xamarin Test Cloud is a cloud-based mobile testing lab which lets you execute Calabash tests on over 1,000 real mobile devices in the cloud. Write your own tests, or have Xamarin engineers create and maintain a test suite for you.

Calabash helps automate and test any iOS or Android app, native or hybrid, from the UI level down. Xamarin provides both the automation framework as well as the device cloud, so you can enjoy perfect integration and continuous improvements to Calabash in response to customer needs.

With Xamarin Test Cloud, you can select devices based on form factor, manufacturer, operating system, or even popularity in your target market. We’re adding over 100 devices every month, and if there’s a specific device you need, we’re taking requests.

Calabash supports Cucumber. Cucumber lets you express the behavior of your app using natural language that can be understood by business experts and non-technical QA staff.

Although we focus on Cucumber, Calabash can be used to write automated functional and acceptance tests using any Ruby-based test framework.

Learn more about Cucumber
Cucumber screenshot

Development Kit

Calabash automation libraries

Apple logo

Calabash iOS

Automation library for iOS

Android logo

Calabash Android

Automation library for Android