Basic of The Gherkin Language

Hello Everyone ,

In this blog we will discuss about Gherkin Language  which we used in BDD for writing test cases.we will take a look on below topic.


Gherkin’s grammar is defined in the parsing expression grammars. It is Business Readable, DSL created specifically for behavior descriptions without explaining how that behaviour is implemented. Gherkin is a plain English text language.

Gherkin serves two purposes — documentation and automated tests. It is a whitespace-oriented language that uses indentation to define structure.

The Gherkin includes 60 different spoken languages so that we can easily use our own language.The parser divides the input into features, scenarios and steps.

Here is a simple example of Gherkin:

Screenshot from 2017-04-18 11-31-45

When we run this feature this gives us a step definition.In Gherkin, each line is start with a Gherkin keyword, followed by any text you like.

The main keywords are:

  • Feature
  • Scenario
  • Given
  • When
  • Then


This keyword refers to description of the functionality of application for which feature file is defines the single feature and we can add multiple scenarios under this.

In this example we added multiple scenario under single feature

Screenshot from 2017-04-18 22-49-12


A Scenario constituting an actual thing.It consists of a list of different steps which are group by Given,When,Then ,And.

We can include numbers of scenario in one feature.

Scenarios follow the same pattern which followed in BDD like

Firstly we go through an initial context, then an event and after that get the outcome.


Steps are starting with Given- When- Then with this we can also use And and But. it is our responsibility we should make our steps readable because system does not differentiate between the keywords.

Screenshot from 2017-04-18 13-51-25

Given: Describes the initial context of the system—the scene of the scenario i.e. configures the system to be in a well-defined state.

When: It is used to describe an event, or an action on the Given context, if any.

Then: It is used to describe an expected outcome, or result. We should use assertion to validate whether the actual result matches the expected result.

Hope the blog helps you.

This entry was posted in Scala and tagged , , , , . Bookmark the permalink.

3 Responses to Basic of The Gherkin Language

  1. Anurag Srivastava says:

    Reblogged this on Anurag Srivastava.

  2. shiv4nsh says:

    Reblogged this on Foobar and commented:
    Introduction to Gherkin ! New way of testing !

  3. sandeep says:

    Reblogged this on sandeepknol.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s