Thursday, January 8, 2015

[Cucumber] Hello Calabash Swift iOS

Behavior-driven development (BDD) Why?

  • why not?
  • it's fun
  • why not!?


  2. $ brew install ruby
  3. $ gem install calabash-cucumber --no-ri --no-rdoc
  4. $ sudo xcode-select -switch /Applications/
  5. $ sudo gem install bundler


  1. $ git clone
  2. In Xcode : open SingleTodo.xcodeproj and set Build Active Architecture Only = No

  3. fix error as Xcode suggest, build and run once to make sure it work properly
  4. $ cd todoSwift
  5. $ calabash-ios setup
  6. if you get
    We don't yet support this. Please setup calabash manually.
    do try delete it by...

    $ rm ._SingleTodo.xcodeproj

  7. In Xcode : switch to SingleTodo-cal scheme
  8. $ calabash-ios gen
  9. $ cucumber


  1. cry
  2. make sure all update and close then reopen terminal  
  3. try
  4. Time out waiting for UIAutomation run-loop? try this

    $ DEVICE_TARGET="iPhone 6 (8.1 Simulator)" cucumber

  5. Unable to unzip try here for temporary workaround

    error:  cannot delete old ./calabash.framework/Headers
    error:  cannot delete old ./calabash.framework/Resources
    error:  cannot delete old ./calabash.framework/Versions/0.12.0
    error:  cannot delete old ./calabash.framework/Versions/Current
    caution: excluded filename not matched:  __MACOSX/*
    caution: excluded filename not matched:  calabash.framework/.DS_Store
    Unable to unzip file: /usr/local/lib/ruby/gems/2.2.0/gems/calabash-cucumber-0.12.1/bin/../staticlib/
    You must install manually.
  6. yelling for permission? gimme sudo!
  7. $ sudo chown -R replace_this_with_your_name /usr/local/lib/ruby/gems/2.2.0


  1. $ calabash-ios sim reset


  1. Feature: Todo list application can add tasks
      As a user
      I want to add tasks
      So I can remember to do things
    Scenario: Add Task
      Given I am on the Welcome Screen
      When I touch "Add"
      Then I enter "listening to Taylor Swift" into input field number 1
      And I touch "Add task"
      Then I wait for "listening to Taylor Swift" to appear


Note to self

Happy Testing! :D

No comments: