原创:testng 基础篇(1)
前言
testng 做自动化的基本结构:使用注解来规划测试
常用的几个注解
顺序: Suite -》Test -》Class -》Groups -》Method
/**
* 使用基本的注解来组织所有的测试用例
* 顺序: Suite -》Test -》Class -》Groups -》Method
* 反向校验: expectedExceptions
*/
public class DemoTestFrame {
public static Logger logger = Logger.getLogger(DemoTestFrame.class);
@Test(groups = "push1")
public void testGroup1(){
System.out.println("testGroup1");
logger.warn("push1 logger");
Assert.assertTrue(true, "check the input value of testGroup1");
}
@Test(groups = "push2")
public void testGroup2(){
System.out.println("testGroup2");
Assert.assertTrue(true,"check the input value of testGroup2");
}
@Test(expectedExceptions = ArithmeticException.class)
public void testException(){
int a = 1/0;
}
@BeforeSuite
public void beforeSuite(){
System.out.println("beforeSuite");
}
@AfterSuite
public void afterSuite(){
System.out.println("afterSuite");
}
@BeforeClass
public void BeforeClass(){
System.out.println("BeforeClass");
}
@AfterClass
public void AfterClass(){
System.out.println("AfterClass");
}
@BeforeTest
public void BeforeTest(){
System.out.println("BeforeTest");
}
@AfterTest
public void AfterTest(){
System.out.println("AfterTest");
}
@BeforeMethod
public void BeforeMethod(){
System.out.println("BeforeMethod");
}
@AfterMethod
public void AfterMethod(){
System.out.println("AfterMethod");
}
@BeforeGroups(groups = "push1")
public void BeforeGroups(){
System.out.println("BeforeGroups");
}
@AfterGroups(groups = "push1")
public void AfterGroups(){
System.out.println("AfterGroups");
}
}
运行输出
beforeSuite
BeforeTest
BeforeClass
BeforeMethod
AfterMethod
BeforeGroups
BeforeMethod
testGroup1
[DemoTestFrame] [WARN] push1 logger
AfterMethod
AfterGroups
BeforeMethod
testGroup2
AfterMethod
AfterClass
AfterTest
afterSuite
使用
- 通过上述的基本注解来组织测试用例
- 普遍使用的公共数据放置在外层的注解上
总结
- 常用的配置信息,例如账户数据,可以放置在suite中
版权所有,本文为原创文章,转载请注明出处
浙公网安备 33010602011771号