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程序下篇