Capybara vs Cucumber

Capybara vs Cucumber

capybara vs cucumber

Let’s understand Capybara vs Cucumber. Capybara is a tool that interacts with a website the way a human would (like visiting a url, clicking a link, typing text into a form and submitting it). Certainly, it is usefulĀ  to emulate a user’s flow through a website. With Capybara you can write something like this:

describe “the signup process”, :type => :feature do

before :each do

User.make(:email => ‘[email protected]’, :password => ‘caplin’)

end

 

it “signs me in” do

visit ‘/sessions/new’

within(“#session”) do

fill_in ‘Login’, :with => ‘[email protected]

fill_in ‘Password’, :with => ‘password’

end

click_link ‘Sign in’

page.should have_content ‘Success’

end

end

Moreover, Capybara is an automated testing tool (often used) for ROR applications.

Cucumber

Cucumber is a BDD tool that expresses testing scenarios in a business-readable. It’s a domain-specific language. In addition, it is a general-purpose BDD tool. It knows nothing about web apps. So, Cucumber step definitions call Capybara in order to test web apps. Moreover, Cucumber is a tool to write human-readable tests that are mapped into code. With it, you can rewrite the above example like this:

 

Scenario: Signup process

Given a user exists with email “[email protected]” and password “caplin”

When I try to login with “[email protected]” and “caplin”

Then I should be logged in successfully

 

The almost plain-text interpretation is useful to pass around non-developers but also need some code mapped into it to actually work (the step definitions).

Usually you will use Capybara if you testing a website and use Cucumber if you need to share those tests with non-developers. These two conditions are independent so you can use one without the other or both or none.

In the code snippet there is some RSpec as well. This is needed because Cucumber or Capybara by themselves cannot test something. They rely on RSpec, Test::Unit or minitest to do the actual “Pass or Fail” work.

Make your resume stand out and become a Certified Capybara Testing Professional. Try free practice tests here!

A great career is just a certification away. So, practice and validate your skills to become Certified Capybara Testing Professional

Capybara Anatomy
Capybara Setup

Get industry recognized certification – Contact us

keyboard_arrow_up