Free Sample
+ Collection

Application Testing with Capybara

Matthew Robbins

Confidently implement automated tests for web applications using Capybara
RRP $19.99
RRP $33.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781783281251
Paperback104 pages

About This Book

  • Learn everything to become super productive with this highly acclaimed test automation library
  • Using some advanced features, turn yourself into a Capybara ninja!
  • Packed with practical examples and easy-to-follow sample mark-up and test code

Who This Book Is For

This book is for developers and testers who have had some exposure to Ruby but who want to know how to test their applications using Capybara and its compatible drivers, such as Selenium-Webdriver and Rack-Test. The examples are deliberately kept simple and example HTML mark-up is always included so that you can copy the examples to practice and experiment on your own machine.

Table of Contents

Chapter 1: Your First Scenario with Capybara
Installing Capybara
Preparing your system
Installing system libraries
Installing Capybara
Installing Cucumber and Selenium
Your first scenario – a YouTube search
Chapter 2: Mastering the API
Locating elements with XPath and CSS
Submitting forms
Finders, scoping, and multiple matches
Asserting and querying
Chapter 3: Testing Rails and Sinatra Applications
Understanding the Rack interface
Capybara and Rack::Test
Which driver to use and when?
A note on Rails/RSpec and Capybara
Chapter 4: Dealing with Ajax, JavaScript, and Flash
Ajax and asynchronous JavaScript
Flash and HTML5 – black box elements
Chapter 5: Ninja Topics
Using Capybara outside of Cucumber
Advanced interactions and accessing the driver directly
Advanced driver configuration
The driver ecosystem

What You Will Learn

  • Install and configure Capybara
  • Use Capybara and Cucumber to test scenarios
  • Exploit Capybara’s API for interacting with web pages
  • Employ Capybara to test Rack applications implemented using Rails or Sinatra
  • Handle asynchronous JavaScript
  • Apply Capybara to test “black box” components such as Flash or HTML5 Canvas, Audio, and Video
  • Practise Capybara outside Cucumber in bespoke frameworks
  • Use Capybara with popular Ruby test frameworks
  • Explore advanced driver configuration
  • Work with alternative drivers such as Capybara-Webkit and Capybara-Mechanize

In Detail

Everybody understands why implementing automated tests is important but at the same time developing them can be costly and time consuming, and tests can be also be fragile and prone to false positives. By using Capybara, you can develop robust tests quickly and run them in multiple drivers ensuring greater re-use; Capybara’s API also extends the human readable style made popular by frameworks such as Cucumber and RSpec.

"Application Testing with Capybara" takes you from installing the gem to getting up and running with a YouTube search scenario within the first two chapters. We then look deeper into the API, using Rack-Test for applications built with Rails or Sinatra and see how to test handle Asynchronous JavaScript and “black box” components such as Flash. Finally, we consider some advanced topics such as looking at alternatives to Selenium and accessing the native driver directly.

This book takes you from the basics of installing Capybara, through its API and onto advanced topics. You will learn how to use Capybara’s extensive API to interact with your application, covering topics such as navigation, filling in forms, and querying your page for expected content. Beyond this we will consider why Capybara is so well suited to testing applications written in frameworks such as Rails and Sinatra. We will look at strategies for validating seemingly “untestable” components such as HTML5 or Flash by building out a testable API. Finally we will turn you into a Capybara ninja by covering advanced topics such as accessing functionality in the base driver, advanced driver configuration, and alternative flavours of drivers outside Selenium and Rack-Test.


Read More

Recommended for You

Instant RSpec Test-Driven Development How-to
$ 14.99