I am using cucumber JVM for selenium Tests. I have a few Test cases to register the user and after each test I want to delete the user.
And so I have created a new tagged hook which I am using for these tests. as mentioned below
The problem is Gloabl hook tearDown
runs before tagged hook deleteUser
which closed the browser and so I can't run steps to delete the user.
is there any way I can run deleteUser
before tearDown
as part of hooks.
@After
public void tearDown(Scenario scenario){
System.out.println("teardown");
closeDriver();
}
@After("@deleteNewUser")
public void deleteUser(){
System.out.println("deleteUser");
}
This is how I am using these hooks
@deleteNewUser
Scenario: Register user
Given New User is registered
Output
teardown
deleteUser
Use the order attribute on the After
hook. The highest value of order will be executed first. Reverse for Before
hook.
@After(order=5)
public void tearDown(Scenario scenario){
System.out.println("teardown");
closeDriver();
}
@After("@deleteNewUser", order=10)
public void deleteUser(){
System.out.println("deleteUser");
}