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.

Buy Now

Select a DRM-free Format:

In Stock
In Stock
In Stock
Buy the eBook and get these DRM-free formats delivered immediately:
  • epub (for iPhone/iPad, Android, eReaders)
  • mobi (for Kindle)
  • PDF
We can automatically send them to your Kindle, and your Dropbox. (You'll need to log in to enable these options.)
 

About this Book

  • 272 pages
  • Published:
  • 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 and 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

About the Author

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 works as an independent consultant, helping teams like yours learn to enjoy delivering software to the best of their abilities. In his spare time he is a core developer on the Cucumber project, and he blogs at mattwynne.net and tweets as @mattwynne.

Aslak Hellesøy is the founder of the Cucumber project and works as a senior developer with DRW Trading in London, writing very fast and very smart software in several different programming languages. In his previous job he was the Chief Scientist of BEKK Consulting in Norway. Aslak tweets as @aslak_hellesoy.

Comments and 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 Recipes.

    —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 doing.

    —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 table.

    —Kavitha Naveen, Senior lead - quality engineering