TAGS (No Priority)

 In BDD frameworks like cucumber ,tags don't have built-in priority,
but you can simulate or implement priority in the way you define , combine and execute tags.
cucumber treats tags as filters , not as priority levels.

@P1 = Critical
@P2 = High
@P3 = Medium/Low


TagMeaning
@HighPriorityMust-run tests (critical path)
@MediumPriorityRegular regression tests
@LowPriorityOptional or less-used paths
@SmokeTestHigh-level critical functionality
@SanityTestQuickly verify core features


package testRunner;


import io.cucumber.testng.AbstractTestNGCucumberTests;

import io.cucumber.testng.CucumberOptions;


@CucumberOptions(features="src/test/java/Features", glue="Steps", monochrome=true,

tags ="@P1", plugin= {"pretty", "html:target/tags-reports.html"})

public class tagTestRunner extends AbstractTestNGCucumberTests {

}


package Steps;


import io.cucumber.java.en.Given;

import io.cucumber.java.en.Then;

import io.cucumber.java.en.When;


public class Tag_Steps {

@Given("user is on login page")

public void user_is_on_login_page() {

System.out.println("user in loginpage");

}

@When("user enters {string} and {string}")

public void user_enters_and(String string1, String string2) {

System.out.println("User Entered details " +string1 +","+string2);

}

@Then("user should land on the homepage")

public void user_should_land_on_the_homepage() {

System.out.println("user landed in homepage");

}

@Then("login error sholud be shown")

public void login_error_sholud_be_shown() {

System.out.println("Login Error displayed");

}

@Given("user login form is displayed")

public void user_login_form_is_displayed() {

System.out.println("login form visible");

}

@Then("username and password fields should be visible")

public void login_fields_visible() {

System.out.println("username and password fields are visible");

}

}


Feature: Login Functionality


@Smoke @P1

Scenario: successfully login with valid details

Given user is on login page

When user enters "admin" and "pass1234"

Then user should land on the homepage



@Wip @P1

Scenario: successfully login with invalid details

Given user is on login page

When user enters "wronguser" and "wrongpasswrd"

Then login error sholud be shown


@Sanity @P2

Scenario: Check presense of login elements

Given user login form is displayed

Then username and password fields should be visible



Output:


@Smoke @P1

Scenario: successfully login with valid details # src/test/java/Features/loginTag.feature:5

user in loginpage

Given user is on login page # Steps.Tag_Steps.user_is_on_login_page()

User Entered details admin,pass1234

When user enters "admin" and "pass1234" # Steps.Tag_Steps.user_enters_and(java.lang.String,java.lang.String)

user landed in homepage

Then user should land on the homepage # Steps.Tag_Steps.user_should_land_on_the_homepage()


@Wip @P1

Scenario: successfully login with invalid details # src/test/java/Features/loginTag.feature:12

user in loginpage

Given user is on login page # Steps.Tag_Steps.user_is_on_login_page()

User Entered details wronguser,wrongpasswrd

When user enters "wronguser" and "wrongpasswrd" # Steps.Tag_Steps.user_enters_and(java.lang.String,java.lang.String)

Login Error displayed

Then login error sholud be shown # Steps.Tag_Steps.login_error_sholud_be_shown()

PASSED: io.cucumber.testng.AbstractTestNGCucumberTests.runScenario("successfully login with valid details", "Login Functionality")

Runs Cucumber Scenarios

PASSED: io.cucumber.testng.AbstractTestNGCucumberTests.runScenario("successfully login with invalid details", "Login Functionality")

Runs Cucumber Scenarios


===============================================

Default test

Tests run: 1, Failures: 0, Skips: 0

===============================================



===============================================

Default suite

Total tests run: 2, Passes: 2, Failures: 0, Skips: 0

===============================================