Doc Strings in Cucumber

Profile picture for user devraj

Docstrings allow you to specify a larger amount of text that could not fit on a single line. It parses big data as one piece. 

This is a helpful solution when we have plenty of text to enter in multiple lines. For example, if you need to represent the exact content of an email or contact us, you could use Doc String.

Doc Strings are also suitable for passing a larger part of the text to a step definition. 

Doc String can also be used with Scenario Outline. DocString should be written within pair of triple quotes (""") or using three backticks (```). 

Cucumber docstring Example

Demo Link: http://autopract.com/selenium/form4/

Doc Strings in Cucumber

Below is the example of Doc String to fill in above form:

@doc
Scenario: Test Doc String
    Given I follow url "http://autopract.com/selenium/form4/"
    When I fill in your message with 
    """
    Hello,

    How are you! This text will be entered 
    in the same format.

    Cheers,
    Tarun
    """

Note: The indentation inside the triple quotes is essential. Each line of the Doc String will be displayed according to the opening """ indentation.

Below are the step definitions

@Given("I follow url {string}")
public void i_follow_link(String string) {
    driver.get(string);
}

@When("I fill in your message with")
public void i_fill_in(String docString) {
    driver.findElement(By.cssSelector("#Message")).sendKeys(docString);	
}

Video Tutorial: Cucumber DocStrings