Cucumber Scenario Outline: Passing space strings " " as value in Examples table

Viewed 5250

I have a Cucumber Scenario Outline in which Examples table I would like to pass 6 space strings (" ") as value. In the Example table just leaving the value blank, passes an empty string. I tried with double and single quotes and it is the same. It passes 8 strings (including 2 quotes), instead of 6.

This is how the Scenario Outline looks like:

Scenario Outline: Change password - Negative Invalid Confirm Password

    Given I log in as a user on the change password page
    When I insert the current password
    And I insert password
    And I insert invalid confirm password <value>
    And I move focus to another element on the change password page
    Then <message> appears under the confirm password field

    Examples:                                                                                       
             |value           |message                           |
             |Aa1!            |Passwords Invalid or Do Not Match |
             |"      "        |Passwords Invalid or Do Not Match |

And this is how feature definition looks like:

When(/^I insert invalid confirmPassword (.*)$/, async (confirmNewPass:string) => {
  await changePasswordPage.changePasswordComponent.insertConfirmNewPassword(confirmNewPass);
});
1 Answers

You need to create feature file like this

Feature: Title of your feature
  I want to use this template for my feature file


  Scenario Outline: Title of your scenario outline
    Given I want to write a step 
    When I check for the <value> in step
    Then I verify the <message> in step

    Examples: 
     |value              |message                           |
     | "Aa1!"            | "Passwords Invalid or Do Not Match" |
     | "      "          | "Passwords Invalid or Do Not Match" |

and then in the step definition you will have to use cucumber expression.

Sample Code is written below

@Given("I want to write a step")
public void i_want_to_write_a_step() {
    // Write code here that turns the phrase above into concrete actions
    System.out.println("In a given method!");
}
@When("I check for the {string} in step")
public void i_check_for_the_Aa1_in_step(String value) {
    // Write code here that turns the phrase above into concrete actions
     System.out.println("Value: " + value);
}


@Then("I verify the {string} in step")
public void i_verify_the_Passwords_Invalid_or_Do_Not_Match_in_step(String message) {
    System.out.println("Message: " + message);
}
Related