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
}
You can use the
@Before
hook to get the current executingScenario
object.You can access the stored scenario object in your step definitions.
No @Bappa, it's possible, though your stepdefinition class is singleton and your tests are in parallel, see it be attacked with below approach by enhancing it with thread-safe static hash map variable used for storage:
Inside the step definition, you can use
CucumberHelper.scenario.getName()
.Based on this API you can use
getID
,getSourceTagNames
,getStatus
andgetClass
methods.