美文网首页
TestNG基础

TestNG基础

作者: 小圆圈Belen | 来源:发表于2020-06-13 17:20 被阅读0次

    介绍

    TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便。

    TestNG的特点:

    1、注解。
    2、在具有各种可用策略的任意大线程池中运行测试(所有方法都在其自己的线程中,每个测试类一个线程)。
    3、支持多线程测试。
    4、支持灵活的测试配置。可以选择执行或者忽略哪个分组
    5、支持数据驱动的测试(使用@DataProvider)。
    6、支持依赖测试方法,并行测试、负载测试、局部故障

    TestNG运行方式:

    1、通过TestNG配置文件
    2、直接运行有@Test标签的java文件
    3、命令行
    xml文件配置:


    image.png
    TestNG的常用注解

    1、@Test
    @Tets是TestNG的核心注解,被注解的方法,表示为一个测试方法。

    image.png
    (1)description属性
    描述这个测试方法
    (2)enable属性
    设置为false时,被注解的方法将不会执行
    (3)groups属性
    为测试方法加上用例等级(smoke、inspection、regress)、功能标签、时间标签
    (4)invocationCount属性
    方法执行次数
    image.png
    (5)threadPoolSize属性
    线程池内线程的个数,并发测试可以用到这个参数
    image.png
    (6)timeOut属性
    超时时间-毫秒
    image.png
    (7)dependsOnMethods属性
    测试方法case1依赖于case2,case2先于case1执行。如果case2失败了则case1也不执行,这叫硬依赖(如果方法发生异常但是被捕获到,此方法不算执行失败,如果异常被抛出则此方法执行失败)。
    image.png
    (8)alwaysRun属性
    在添加依赖关系时,加上alwaysRun=“true”的属性,无论依赖是否成功,此方法都会继续执行。
    2、@Listeners
    可以参考这篇文章:
    https://www.jianshu.com/p/2f934240699e
    定义一个测试类的监听器,只能添加到测试类上,不能添加的具体方法。
    (1)在配置文件中使用
    image.png
    (2)在测试类中使用(比较常用)
    image.png
    3、@Parameters
    (1)一个参数
    image.png
    (2)多个参数

    4、@DataProvider、@DataProviderClass
    为测试方法提供数据。首先利用@DataProvider(name = "XXX")的属性,将name的值XXX 传递给 @Test(dataProvider = "XXX")


    image.png

    5、@Before
    @BeforeClass,被注解的方法在此类所有测试方法前执行
    @BeforeMethod,被注解的方法在每个@Tets方法前执行
    @BeforeSuite,被注解的方法在当前Suite中方法执行前执行
    @BeforeTest,被注解的方法在每个@Test方法前执行
    @BeforeGropu,被注解的方法在指定组内方法执行前执行
    6、@After
    @AfterClass,被注解的方法在此类所有测试方法后执行
    @AfterMethod,被注解的方法在每个@Tets方法后执行
    @AfterSuite,被注解的方法在当前Suite中方法执行后执行
    @AfterTest,被注解的方法在每个@Test方法后执行
    @AfterGropu,被注解的方法在指定组内方法执行后执行

    xml配置文件常用标签:
    image.png

    相关文章

      网友评论

          本文标题:TestNG基础

          本文链接:https://www.haomeiwen.com/subject/wpeatktx.html