testNG

作者: 逗儿比的日常 | 来源:发表于2023-05-29 10:33 被阅读0次

@Test

标示此注解的方法会被认为是一个测试方法,即一个测试用例

@BeforeMethod

标示此注释的方法会在每个测试方法开始运行前执行

@AfterMethod

标示此注释的方法会在每个测试方法运行结束后执行

@BeforeClass

标示此注解的方法会在当前测试类的任一测试用例开始运行前执行
(测试用例前仅执行一次)

@AfterClass

标示此注解的方法会在当前测试类的所有测试用例运行结束后执行

@BeforeTest

标示此注解在并行的第一个test测试前运行

@AfterTest

标示此注解在测试运行后运行

@BeforeSuite

标示此注解在所有测试前运行

@AfterSuite

标示此注解在所有测试后运行

注意:@BeforeXXX和@AfterXXX不一定非要成对出现,单独使用也可以

在上面9种@都存在的情况下,运行顺序如下:

@BeforeSuite
@BeforeTest
@BeforeClass
@BeforeMethod
@Test
@AfterMethod
@AfterClass
@AfterTest
@AfterSuite

如果@相同的出现了两次或者两次以上,执行的顺序为方法名按照26个字母排序,排在前面的字母就先执行

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");
    }
}

执行结果:

执行结果

即有几个方法,@beforeMethod和@afterMethod里的代码就执行几次,并且是在方法的前和后执行

相关文章

网友评论

      本文标题:testNG

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