Automated Testing

For Automated Testing we usually here Calabash & Cucumber, sometimes it has 2 parts:

Cucumber is the testing tool, we use it to write test code. While Calabash is the testing framework, which allows us to interact with apps.

So Calabash or Appium would run Cucumber test codes on simulators, emulators, or browsers… This blog guides me how to setup Calabash & Cucumber.

Cucumber (jargon)

Cucumber tests are written in domain-specific language that is readable for everyone.

Comparisons Calabash and other platforms (

Short intros of the frameworks:

  1. Calabash:

    1. Calabash is cross-platform, supporting Android and iOS.(open-source, free, but is supported by Xamarin.)
    2. Calabash only supports Ruby.
    3. Calabash libraries allow test-code to interact (programmatically) with app (native & hybrid).
    4. Actions that Calabash supports:
      1. Gestures: tap, swipe, rotate
      2. Assertions: there should be a ‘Login’ button, or web view has 1 element with text “Hello”
      3. Screenshots: take screenshot of current screen
    5. Calabash supports Cucumber – Cucumber is easy to understand for normal people.
  2. Appium

    1. Appium uses Webdriver
    2. First, install NodeJs & Appium
    3. Second, use  xctool  -sdk  to build app for iOS Simulator.~/xctool-0.2.1/ -workspace EatNow.xcworkspace/ -scheme EatNow -sdk iphonesimulator -destination platform=’iOS Simulator’,OS=8.0,name=’iPhone Retina (3.5-inch)’ -destination-timeout 120 test -freshSimulator
  3. Frank

  4. Subliminal

  5. Kif

  6. Zuchini:

  7. iOS-driver

  8. Kiwi

  9. Monkey Talk

  10. Touch Test

  11. Anteater


  2. Apple Automating UI Testing