How to get scenario name from a scenario outline in cucumber using java

bpa.mdl picture bpa.mdl · Jul 20, 2017 · Viewed 9.1k times · Source

Suppose I have a test case like -

*Scenario: Facebook login test
GIVEN I am a Facebook user
WHEN I enter my user name & password
THEN login should be successful*

How could I get the scenario name from the step definition methods corresponding to "I am a Facebook user" or "I enter my user name & password" or "login should be successful" ?

Step definitions methods are -

@Given("^I am a Facebook user$")
public void method1() {
 //some coding
 //I want to get the scenario name here
}

@When("^I enter my user name & password$")
public void method2() {
 //some coding
 //I want to get the scenario name here
}

@Then("^login should be successful$")
public void method3() {
 //some coding
 //I want to get the scenario name here
}

Answer

Grasshopper picture Grasshopper · Jul 21, 2017

You can use the @Before hook to get the current executing Scenario object.

@Before
public void beforeHook(Scenario scenario) {
     this.sce = scenario
     System......(scenario.getName())
     System......(scenario.getId())
}

You can access the stored scenario object in your step definitions.