(三)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,所以当前的报错

 

posted @ 2018-09-02 15:22  陈晓猛  阅读(143)  评论(0编辑  收藏  举报