Ivasia
Ivasia

Reputation: 15

How to set hooks execution order with different tags

I have a cucumber scenario with different tags @all @crm @ui @agreementLogic @agreementLogicLazadaActive

And also I have two hooks with differenet values

@After(value = "@ui", order = 1)
    public void tearDown(Scenario scenario) {
        if (scenario.isFailed()) {
            AllureReporter.addScreenShot();
        }
        Browser.stop();
    }

and

@After(value = "@all",order = 2)
public void afterAll() {
   removeScenarioEnvironment();
    AllureReporter.attachScenarioLogFromLogFile();
}

I need that hook for tag @ui been executed before hook for tag @all, as you can see I set them order, but it doesn't work.

Upvotes: 1

Views: 713

Answers (1)

Nandan A
Nandan A

Reputation: 2932

@Before(order = int) : This runs in increment order, means value 0 would run first and 1 would be after 0.

@After(order = int) : This runs in decrement order, means value 1 would run first and 0 would be after 1.

Yours:

@After(value = "@ui", order = 1)
@After(value = "@all",order = 2)

Updated:

@After(value = "@ui", order = 2)
@After(value = "@all",order = 1)

Upvotes: 2

Related Questions