small medium large xlarge

Cucumber Recipes: Automate Anything with BDD Tools and Techniques


Cover image for Cucumber Recipes

Cucumber Recipes

Automate Anything with BDD Tools and Techniques


You can test just about anything with Cucumber. We certainly have, and in Cucumber Recipes we’ll show you how to apply our hard-won field experience to your own projects. Once you’ve mastered the basics, this book will show you how to get the most out of Cucumber—from specific situations to advanced test-writing advice. With over forty practical recipes, you’ll test desktop, web, mobile, and server applications across a variety of platforms. This book gives you tools that you can use today to automate any system that you encounter, and do it well.

Customer Reviews

With Cucumber Recipes you feel like the authors are right there with you, offering
you advice, showing you hidden gems, or gently chastising you for things you
know you shouldn’t be doing. From general advice about taming unruly test suites
or scaling out across multiple servers, to craziness like testing embedded Arduino
hardware projects, they manage to cover an enormous amount of ground in a
small space. Prepare for a fun and informative ride.

- Dan North,

Originator of BDD and author of the RSpec story runner

There are many cookbooks but very few “chef books.” Cucumber Recipes is inspiring
enough to qualify as a chef book. If there’s a will and a desire to use Cucumber
in the process, Cucumber Recipes will more than likely show you a way…or many
ways! From the basic to the esoteric, there’s something for everyone in Cucumber

- Michael Larsen,

Senior quality assurance engineer, SocialText

It is good to see that a free tool like Cucumber has been able to build up a community
that treats BDD as its own child and carries it to nearly every possible
platform and technology. This book provides a closer look at the details.

- Gáspár Nagy,

Developer coach at TechTalk, creator of SpecFlow

If you’re automating tests of any kind using Cucumber, in any language, against
any type of software, you need this cookbook. Its recipes will help you write useful,
easily maintained tests for even the most puzzling scenarios. Like all good cookbooks,
it teaches good techniques and principles that will help you improve all
your tests. Best of all, you can actually code the examples yourself, and learn by

- Lisa Crispin,

Co-author, Agile Testing: A Practical Guide for Testers and Agile Teams

Cucumber Recipes has testing solutions for a variety of platforms. It is a powerful
book that gives us useful tips to use BDD in our chosen environment. To realize
the power of BDD, Cucumber Recipes is a must on every software test engineer’s

- Kavitha Naveen,

Senior lead - quality engineering

See All Reviews

Choose Your Format(s)

  • $24.00 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

About this Title

Pages: 274
Published: 2013-02-06
Release: P2.0 (2014-03-26)
ISBN: 978-1-93778-501-7

The Cucumber Book showed you how your team can work together to write executable specifications—documents that tell a clear story and also happen to be working test code. We’ll arm you with ready-rolled solutions to real-world problems: your tests will run faster, read more clearly, and work in any environment.

Our first tips will help you fit Cucumber into your workflow. Powerful filters will tame tables full of test data, transforming them into the format your application needs. Custom output formatters will generate reports for any occasion. Continuous Integration servers will run your Cucumber tests every time the code changes. Next, you’ll find recipes tailored to the platform you’re running on. Ever wanted to know how to test a Grails app from Cucumber? Need to put a Windows program through its paces? How about a mobile app running on Android or iOS? We’ll show you how to do all of these.

Throughout the book, you’ll see how to make Cucumber sing as you interoperate with different platforms, languages, and environments. From embedded circuits to Python and PHP web apps, Cucumber has something for you.

What You Need:

You’ll need basic working knowledge of Cucumber and Ruby. Individual recipes may have additional requirements; for example, a recipe on Windows automation might pull in an open source GUI driver.

We’ve written the recipes for compatibility with Ruby 1.9.3 and 1.8.7, plus Cucumber 1.1.4. Other versions may work as well, but these are the ones we test with.

Contents & Extracts

  • Introduction
  • Cucumber Techniques
    • Compare and Transform Tables of Data
    • Generate an RTF Report With a Custom Formatter
    • Run Slow Setup/Teardown Code With Global Hooks excerpt
    • Refactor to Extract Your Own Application Driver DSL
    • Compare Images
    • Test Across Multiple Cores
    • Test Across Multiple Machines With SSH
    • Run Your Features Automatically With Guard and Growl
    • Add Cucumber To Your Continuous Integration Server
    • Publish Your Documentation on Relish
    • Drive Cucumber’s Wire Protocol
    • Implement a Wire Protocol Listener
  • Java
    • Use Cucumber Directly With JRuby
    • Use Cucumber With Java Via Cucumber-JVM excerpt
    • Drive a Spring Model
    • Drive Hibernate Persistence
    • Drive a Grails App
    • Test Scala Code
    • Test Clojure Code
    • Drive a Swing Interface With Marathon
  • .NET and Windows
    • Get Good Text Output On Windows
    • Test .NET Code Using Cucumber Syntax
    • Drive a Windows App Using win_gui
    • Drive a Windows App Using White
  • Mobile and Web
    • Test On iOS Using Frank
    • Test On Android
    • Test Across Multiple Mobile OSes With Calabash
    • Test On Windows Phone
    • Parse HTML Tables excerpt
    • Drive JavaScript / CoffeeScript Using Cucumber-JS
    • Test a Web App Using Watir
    • Test a PHP App With cuke4php
    • Play Back Canned Network Data Using VCR
    • Drive a Flash App Using Cuke4AS3
    • Monitor a Web Service Using Nagios and Cucumber
  • Other Languages and Platforms
    • Drive a Mac GUI Using AppleScript and System Events
    • Drive a Mac GUI Using MacRuby and AXElements
    • Test Python Code Using Lettuce
    • Test Erlang Code
    • Test Lua Code Using cucumber-lua
    • Test a GUI on Linux, Mac, or Windows With Sikuli
    • Test an Arduino Project Using Serial
  • RSpec Tutorial


Ian Dees was first bitten by the programming bug in 1986 on a Timex Sinclair 1000, and has been having a blast in his software apprenticeship ever since. By day, Ian slings code, tests, and puns at a Portland-area test equipment manufacturer. By night, he converts espresso into programming books, including Scripted GUI Testing With Ruby and Using JRuby. Ian tweets as @undees.

Matt Wynne is a leading BDD practitioner, a member of the Cucumber core team, and a programmer, coach, trainer, and popular international speaker. Alongside Aslak Hellesøy and Julien Biezemans, Matt is co-founder of Cucumber Ltd., the company behind Cucumber. Matt tweets from @mattwynne and @cucumberbdd.

Aslak Hellesøy is the creator of Cucumber. During his career Aslak has worked with both small and large organizations in industries such as telecom, trading, insurance, car manufacturing, education, and government. Aslak is co-founder of Cucumber Ltd, the company behind Cucumber. He tweets from @aslak_hellesoy and @cucumberbdd.