@Test
標示此注解的方法會被認為是一個測試方法慷荔,即一個測試用例
@BeforeMethod
標示此注釋的方法會在每個測試方法開始運行前執(zhí)行
@AfterMethod
標示此注釋的方法會在每個測試方法運行結(jié)束后執(zhí)行
@BeforeClass
標示此注解的方法會在當前測試類的任一測試用例開始運行前執(zhí)行
(測試用例前僅執(zhí)行一次)
@AfterClass
標示此注解的方法會在當前測試類的所有測試用例運行結(jié)束后執(zhí)行
@BeforeTest
標示此注解在并行的第一個test測試前運行
@AfterTest
標示此注解在測試運行后運行
@BeforeSuite
標示此注解在所有測試前運行
@AfterSuite
標示此注解在所有測試后運行
注意:@BeforeXXX和@AfterXXX不一定非要成對出現(xiàn)割择,單獨使用也可以
在上面9種@都存在的情況下,運行順序如下:
@BeforeSuite
@BeforeTest
@BeforeClass
@BeforeMethod
@Test
@AfterMethod
@AfterClass
@AfterTest
@AfterSuite
如果@相同的出現(xiàn)了兩次或者兩次以上称杨,執(zhí)行的順序為方法名按照26個字母排序,排在前面的字母就先執(zhí)行
methodData.java
文件
package com.bun.webtest.selenium;
public class MethodData {
public int add(int a,int b){
return a+b;
}
public int minus(int a,int b){
return a-b;
}
}
MyTests.java
文件
package com.bun.webtest.selenium;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class MyTests {
@Test
public void testAdd(){
MethodData test1 = new MethodData();
System.out.println(test1.add(10,20));
}
@Test
public void testMinus() {
MethodData test2 = new MethodData();
System.out.println(test2.minus(10, 20));
}
@BeforeMethod
public void beforeMethod(){
System.out.println("beforeMethod");
}
@AfterMethod
public void afterMethod(){
System.out.println("afterMethod");
}
@BeforeClass
public void beforeClass(){
System.out.println("beforeClass");
}
@AfterClass
public void afterClass(){
System.out.println("afterClass");
}
}
執(zhí)行結(jié)果:
執(zhí)行結(jié)果
即有幾個方法初坠,@beforeMethod和@afterMethod里的代碼就執(zhí)行幾次躯舔,并且是在方法的前和后執(zhí)行