原创: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中
版权所有,本文为原创文章,转载请注明出处

posted @ 2021-02-28 18:22  嘉良空间  阅读(37)  评论(0)    收藏  举报