TestNG 简介
TestNg是一个强大的测试框架,设计灵感来源于junit,但优于junit,它提供了很强大的注解,便于我们对case的各种操作。
- TestNG 给我提供了啥?
提供强大的注释,方便测试人员的使用。 2.支持数据驱动测试(DDT) 3.支持并行测试 4.可以灵活配置测试,强大的执行模式可生成多种测试报告等等 - TestNG 引入
Pom.xml 添加如下:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.9</version>
</dependency>
- TestNG 部分注解介绍
@BeforeTest:
注解的方法将被运行之前的任何测试方法属于内部类的 标签的运行。
@BeforeMethod:
注解的方法将每个测试方法之前运行。
@Test:
标记一个类或方法作为测试的一部分。
@AfterMethod:
被注释的方法将被运行后,每个测试方法。
@AfterTest:
注解的方法将被运行后,所有的测试方法,属于内部类的标签的运行。
package com.testng.cn;
import org.testng.annotations.*;
public class TestNgDemo1 {
@BeforeClass
public void beforClass(){
System.out.println("这是beforClass");
}
@BeforeMethod
public void beforMethond(){
System.out.println("这是beforMethond");
}
@Test
public void beforTest2(){
System.out.println("这是Test 测试1");
}
@Test
public void beforTest1(){
System.out.println("这是Test 测试2");
}
@Test
public void abeforTest3(){
System.out.println("这是test 测试3");
}
@AfterClass
public void afterClass(){
System.out.println("这是afterClass");
}
@AfterMethod
public void aftermMethod(){
System.out.println("这是aftermMethod");
}
}
运行结果:
这是beforClass
这是beforMethond
这是test 测试3
这是aftermMethod
这是beforMethond
这是Test 测试2
这是aftermMethod
这是beforMethond
这是Test 测试1
这是aftermMethod
这是afterClass
**
注意:
从结果来看,这里执行顺序不是按代码先后顺序执行,是根据ASCII码表来执行case,代码中test3是在最后的一个case,但执行结果中却在第一个,因为a在ascii码表中最小,所以这里优先执行
**
TestNG 部分常用校验方式
相等:
Assert.assertEquals();
不等:
Assert.assertNotEquals();
不为空:
Assert.assertNotNull();
为空
Assert.assertNull();
package com.testng.cn;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
TestNG 部分常用校验方式
相等:
Assert.assertEquals();
不等:
Assert.assertNotEquals();
不为空:
Assert.assertNotNull();
为空
Assert.assertNull();
*/
public class TestNgDemo2 {
/**
* 注意:断言后最好不要接case(可以接建议不要接原因是如果前面断言失败后面就不回执行),断言后可以继续接断言, 如场景:登陆成功后在继续操作新增或者删除,可以直接另外在写一个case,
*/
@Test
public void asserteQualsTest(){
//相等 Assert.assertEquals();
String c="a";
String d="a";
Assert.assertEquals(c,d);
//失败
String a="a";
String b="b";
Assert.assertEquals(a,b,"不相等");
}
@Test
public void asserteQualsTest1(){
//不等:Assert.assertNotEquals();
String c="a";
String d="b";
Assert.assertNotEquals(c,d);
}
@Test
public void assertNotNullTest(){
//不为空:
// Assert.assertNotNull();
String s="";
Assert.assertNotNull(s);
}
@Test
public void assertNullTest(){
// 为空
// Assert.assertNull();
String s=null;
Assert.assertNull(s);
}
}