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.
@P2 = High
@P3 = Medium/Low
Tag | Meaning |
---|---|
@HighPriority | Must-run tests (critical path) |
@MediumPriority | Regular regression tests |
@LowPriority | Optional or less-used paths |
@SmokeTest | High-level critical functionality |
@SanityTest | Quickly 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
===============================================