Allows RubyMotion projects to easily use Calabash iOS for automated acceptance testing.
For information about Calabash see: calaba.sh
-
RubyMotion 1.0 or greater (see www.rubymotion.com).
$ (sudo) gem install motion-calabash
-
Edit the
Rakefile
of your RubyMotion project and add the following require lines.require 'rubygems' require 'motion-calabash'
If you’re using a Gemfile in your project (which you probably should), please also add ‘gem ’motion-calabash’‘ (possibly a version) to this file.
motion-calabash introduces a calabash
Rake-task namespace to your project. The namespace currently contains three tasks: scaffold
, run
, console
.
The scaffold
target will generate the file structure and launch hooks needed to run calabash tests on your RubyMotion app.
$ krukow:~/github/rubymotion-inspect$ rake calabash:scaffold Run Scaffolding features Info Run rake calabash:run to try Copy launch file /Users/krukow/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/motion-calabash-0.9.137/scripts/launch.rb to features/support/launch.rb $ krukow:~/github/rubymotion-inspect$ tree features features ├── my_first.feature ├── step_definitions │ ├── calabash_steps.rb │ └── my_first_steps.rb └── support ├── env.rb ├── hooks.rb └── launch.rb
The run
task can be used to run your suite of Calabash tests on your development build. You can run on simulator or on a USB connected device.
You can supply the following parameters target
, device
, os
, args
$ rake calabash:run $ rake calabash:run simulator $ rake calabash:run device $ rake calabash:run simulator target=5.1 $ rake calabash:run simulator target=6.0 device=ipad $ rake calabash:run simulator args="features/my_first.feature --tags @a"
The console
task gives you an interactive console where you can try out Calabash functions and explore your app. It is very useful when writing automated tests. See also: [Explore interactively!](github.com/calabash/calabash-ios/wiki/01-Getting-started-guide) and [Ruby API](github.com/calabash/calabash-ios/wiki/03.5-Calabash-iOS-Ruby-API).
$ rake calabash:console
(device
and os
params apply too).
Two sample projects
[Beers](github.com/krukow/motion-calabash-inspect2013)
[RubyMotion-Inspect](github.com/calabash/rubymotion-inspect)