Ruby Cucumber Training : Introduction to BDD and Cucumber
What is BDD?
Ruby Cucumber Training : BDD stands for Behaviour-Driven Development.
BDD was conceived by Dan North in 2003
BDD uses natural language to describe the “desired behavior” of the system, that can be understood by both the developer and the customer.
Gives us an opportunity to create test scripts from both the developer’s and the customer’s prospective as well.
What is Cucumber?
Cucumber is a command-line tool. When you run it, it reads in your specifications from plain-language text files called features, examines them for scenarios to test, and runs the scenarios against your system. Each scenario is a list of steps for Cucumber to work through. So that Cucumber can understand these feature files, they must follow some basic syntax rules. The name for this set of rules is Gherkin.
Cucumber supports Behavior Driven Development (BDD) framework. Cucumber allows automation functional validation that is easily read and understood. Cucumber was initially implemented in Ruby and then extended to Java framework.
It is an Open Source Tool
Plugin in cucumber works faster
Cucumber supports other language as well beyond Ruby like Java, Groovy, .Net etc.
Involve business stakeholders who cannot easily read code
Cucumber focuses on end-user experience
Style of writing tests allow for easier reuse of code in the tests
Quick and easy set up and execution
Efficient tool for testing
Cucumber supports many
Introduction to Capybara
Capybara is an Acceptance test framework for web applications. It integrates with Cucumber and hides the details of controlling a browser behind an API. It simulates how a user would interact with a website.
Capybara functions Various capybara functions with examples
Introduction to Poltegriest, PhantomJs and Gems
Poltergeist is another headless driver which integrates Capybara with PhantomJS. After registering Poltergeist as the driver in Capybara we need not interact directly with Poltergeist nor PhantomJS, only with the Capybara API.
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries. Each gem has a name, version, and platform.
Ruby Cucumber Training : Cucumber installation
Introduction to Cucumber Gherkin
- Scenario Outline
Introduction to Ruby
Programming basic concepts
Ruby Data Types
Loop Structures While and For
Ruby Advanced Topics
Files and IO
Ruby-Cucumber Framework Creation
Config files creation
Support files creation
BDD Creating and Executing Test
Creation of Step Definition File
Results and Reports
Testing A Web Application using Ruby, Cucumber and Capybara
Introduction to Real Time Project and implementation
Creation of Feature and Step Definition File for test automation example
Result and Report
Different kinds of error which you can encounter during automation
How to solve them easily
Good resources/help/forum to read