TestNG

Posted chenxiaomeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestNG相关的知识,希望对你有一定的参考价值。

1.testNG的部分注解

test测试方法都是执行顺序:并不是从上往下执行的,而是根据方法名ASCII码进行执行的,小的先执行 比如a比b先执行,1比2先执行,不管代码放的顺序是怎么样。

import org.testng.annotations.*;
public class TestNGdemo1 {
    /*执行顺序:并不是从上往下执行的,而是根据方法名ASCII码进行执行的
     小的先执行 比如a比b先执行,1比2先执行,不管代码放的顺序是怎么样。
    */
    @BeforeTest
    public void testcase(){
        System.out.println("这是BeforeTest注解");
    }
    @BeforeMethod
    public void testCase0(){
        System.out.println("这是BeforeMethod注解");
    }
    @Test
    public void testCase1(){
       System.out.println("这 是@test1注解");
    }
    @Test
    public void testCase2(){
        System.out.println("这是@test2注解");
    }
    @AfterMethod
    public void testCase3(){
        System.out.println("这是@AfterMethod注解");
        System.out.println();
    }
    @AfterTest
    public void testcase4(){
        System.out.println("这是AfterTest注解");
    }
}

执行结果:

技术分享图片

 

2.testNG常用校验方法介绍

保持case的原子性,因为assert方法,如果前面出现不符合预期,接下来的方法体内的程序都不会执行,所以如果是两个不同的case应该拆成两个不一样的case方法来执行。

/*常用的校验方式使用*/
public class TestNGdemo2 {
    @Test
    public void assertEqualTest(){
        String a = "asdhu";
        String b = "dsadasd";
        System.out.println("登陆");
        Assert.assertEquals(a,b,"a equals b");
        /*前面如果执行结果是不正确的 下一个代码程序则不会继续进行*/
        System.out.println("操作打开页面删除");
        Assert.assertEquals(a,b,"删除成功");
    }

    @Test
    public void assertNotEqualTest() {
        String a = "a";
        String b = "d";
        System.out.println("登陆");
        Assert.assertEquals(a,b,"a not equals b");
    }
    @Test
    public  void assertNotnullTest(){
        //String a =null;
        /*如果当前的值是 ""代表是有值的 不是空*/
        String b ="";
      //  Assert.assertNotNull(a,"a为空");
        Assert.assertNotNull(b,"b不为空");
    }

    @Test
    public void assertnullTest(){
        String b ="";
        //  Assert.assertNotNull(a,"a为空");
        Assert.assertNotNull(b,"b为空");
    }
}

 执行结果:

登陆之后没有继续向下执行

技术分享图片

 

b不等于a,b不等于预期的a,所以当前的报错

技术分享图片

 

以上是关于TestNG的主要内容,如果未能解决你的问题,请参考以下文章

java testng框架的windows自动化-自动运行testng程序下篇

使用TestNG运行代码时出现空指针异常

JUnit VS TestNG

我想使用Java代码为多个浏览器运行我的TestNG套件。有什么办法吗?

TestNG测试框架入门到实战

记录java+testng运行selenium--- 运行代码