@Test with priority:
By using testNG, We can run test methods based on priority numbers
// Define Test
method with priority = 0
// Define
priority: first it executes test
method priority no = 0 , 1 , 2
package TestNgBasics1;
import org.testng.annotations.Test;
public class TestMethodWithPrioriy {
// Define
priority: first it executes test
method priority no = 0 , 1 , 2
//
Define Test method with priority = 0
@Test(priority
= 0)
public
void login()
{
System.out.println("Login - priority= 0");
}
////
Define Test method with priority = 1
@Test(priority
= 1)
public
void createOrder()
{
System.out.println("createOrder priority =1");
}
//
Define Test method with priority = 2
@Test(priority
= 3)
public
void deleteteOrder()
{
System.out.println("deleteteOrder
priority =2 ");
}
}
o/p:
[RemoteTestNG] detected TestNG version 7.0.0
Login - priority= 0
createOrder priority =1
deleteteOrder priority =2
PASSED: login
PASSED: createOrder
PASSED: deleteteOrder
===============================================
Default test
Tests run: 3, Failures:
0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 3, Passes: 3, Failures: 0, Skips: 0
===============================================
Note :
Even if we change the order of test methods in the class, TestNG always
executes test methods based on priority numbers only (0, 1, 2, etc.).
ex:
package TestNGBasics1;
import org.testng.annotations.Test;
public class TestMethodWithPrioriy
{
// Define
priority: first it executes test
method priority no = 0 , 1 , 2
// Define Test
method with priority = 2
@Test(priority =
2)
public void
deleteteOrder()
{
System.out.println("deleteteOrder
priority =2 ");
}
// Define Test
method with priority = 0
@Test(priority =
0)
public void
login()
{
System.out.println("Login - priority= 0");
}
//// Define Test
method with priority = 1
@Test(priority =
1)
public void
createOrder()
{
System.out.println("createOrder priority =1");
}
}
o/p:
Same as previous program
Default Priority for @Test:
package TestNGBasics1;
import org.testng.annotations.Test;
public class TestMethodWithPrioriy2
{
// Define
priority: first it executes test
method priority =0 , 1 , 2
// @Test(priority =0)
@Test //
default priority = 0 even if we don't define any priority -
public void
login()
{
System.out.println("Login - priority= 0");
}
@Test(priority
=1)
public void
createOrder()
{
System.out.println("createOrder priority =1");
}
@Test(priority
=2)
public void
deleteteOrder()
{
System.out.println("deleteteOrder
priority =2 ");
}
}
o/p:
[RemoteTestNG] detected TestNG version 7.0.0
Login - priority= 0
createOrder priority =1
deleteteOrder priority =2
PASSED: login
PASSED: createOrder
PASSED: deleteteOrder
===============================================
Default test
Tests run: 3, Failures:
0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 3, Passes: 3, Failures: 0, Skips: 0
===============================================
FAQ What is the
default priority no for Test methods?
priority = 0
FAQ Can we give
-ve numbers in priority ? -2,-1 , 0 ,1,2
We can assign -ve numbers also
priority number
Testng executes Test methods with priority number -2,-1,0,1,2..etc
ex:
package TestNgBasics1;
import org.testng.annotations.Test;
public class TestMethodWithPriority3 {
// Define Test
method with priority = -2
@Test(priority
= -2)
public
void login()
{
System.out.println("Login - priority= -2");
}
//
Define Test method with priority = -1
@Test(priority
= -1)
public
void createOrder()
{
System.out.println("createOrder priority = -1");
}
//
Define Test method with priority = 0
@Test(priority
= 0)
public
void deleteteOrder()
{
System.out.println("deleteteOrder
priority = 0 ");
}
//
Define Test method with priority = 1
@Test(priority
= 1)
public
void deleteteOrder2()
{
System.out.println("deleteteOrder
priority = 1 ");
}
}
o/p:
[RemoteTestNG] detected TestNG version 7.0.0
Login - priority= -2
createOrder priority = -1
deleteteOrder priority = 0
deleteteOrder priority = 1
PASSED: login
PASSED: createOrder
PASSED: deleteteOrder
PASSED: deleteteOrder2
===============================================
Default test
Tests run: 4, Failures:
0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 4, Passes: 4, Failures: 0, Skips: 0
===============================================
Note:
When we have 2 (or) 3 Test methods have same priority, then it
executes Test methods names in "alphabetical" order.
package TestNgBasics1;
import org.testng.annotations.Test;
public class TestMethodWithPriority4 {
@Test(priority
=0) //
public void
login()
{
System.out.println("Login - priority= 0");
}
@Test(priority
=0) //
public void
createOrder()
{
System.out.println("createOrder priority = 0");
}
@Test(priority
=0) //
public void
deleteteOrder()
{
System.out.println("deleteteOrder
priority = 0 ");
}
@Test(priority
=1) // 4
public void
deleteteOrder2()
{
System.out.println("deleteteOrder
priority = 1 ");
}
}
o/p:
[RemoteTestNG] detected TestNG version 7.0.0
createOrder priority = 0
deleteteOrder priority = 0
Login - priority= 0
deleteteOrder priority = 1
PASSED: createOrder
PASSED: deleteteOrder
PASSED: login
PASSED: deleteteOrder2
===============================================
Default test
Tests run: 4, Failures:
0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 4, Passes: 4, Failures: 0, Skips: 0
===============================================
No comments:
Post a Comment