Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A visual iOS testing framework
branch: master

This branch is even with playup:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


  1. XCode 4.2
  2. A few command line tools:
brew update && brew install imagemagick && brew install coffee-script 

Start using Zucchini

gem install zucchini-ios

Using Zucchini doesn't involve making any modifications to your application code. You might as well keep your Zucchini tests in a separate project.

Start by creating a project scaffold:

zucchini generate --project /path/to/my_project

Create a feature scaffold for your first feature:

zucchini generate --feature /path/to/my_project/features/my_feature

Start hacking by modifying features/my_feature/feature.zucchini and features/support/screens/

Alternatively, check out the zucchini-demo project featuring an easy to explore Zucchini setup around Apple's CoreDataBooks sample.

Running on the device

Add your device to features/support/config.yml.

The udidetect utility comes in handy if you plan to add devices from time to time: udidetect -z.

ZUCCHINI_DEVICE="My Device" zucchini run /path/to/my_feature 

Running on the iOS Simulator

We strongly encourage you to run your Zucchini features on real hardware. However, you can run them on the iOS Simulator if you must.

First off, modify your features/support/config.yml to include a full path to your compiled app, e.g.

app: /Users/vaskas/Library/Developer/Xcode/DerivedData/CoreDataBooks-ebeqiuqksrwwoscupvxuzjzrdfjz/Build/Products/Debug-iphonesimulator/

Secondly, add an 'iOS Simulator' entry to the devices section (no UDID needed) and make sure you provide the actual value for 'screen' based on your iOS Simulator settings:

  iOS Simulator:
    screen: low_ios5

Run it as usual:

ZUCCHINI_DEVICE="iOS Simulator" zucchini run /path/to/my_feature 

See also

zucchini --help  
zucchini run --help  
zucchini generate --help
Something went wrong with that request. Please try again.