1.TestNG简介
JAVA自动化测试最重要的基石。官网:https://testng.org
使用注解来管理我们的测试用例。
发现测试用例
执行测试用例
判断测试用例
生成测试报告
2.创建Maven工程
2.1创建一个maven工程
2.2设置maven信息
2.3设置JDK信息
2.4引入testng依赖
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.9.0</version>
<scope>test</scope>
</dependency>
</dependencies>
3.TestNG常用的注解
3.1将类或方法标记为测试的一部分
@Test
public void testLogin(){
System.out.println("测试登录的用例");
}
属性:
-
@Test(enabled = false)
标识他不是一个用例。 -
@Test(priority = -1)
标识测试方法的执行顺序,数值越小优先级越大。 -
@Test(dependsOnMethods = "方法名")
解决测试用例之间的依赖关系。
3.2前后置注解
比如:连接数据库
package com.yufuabu.login;
import org.testng.annotations.*;
public class TestLogin {
@BeforeSuite
public void conn1(){
System.out.println("测试套件前置:相当于整个项目");
}
@BeforeTest
public void conn2(){
System.out.println("测试模块前置:相当于一个模块");
}
@BeforeClass
public void conn3(){
System.out.println("测试类前置:相当于一个子模块");
}
@BeforeMethod
public void conn4(){
System.out.println("测试用例前置:相当于一个用例");
}
@Test
public void test3(){
System.out.println("test3");
}
@Test
public void test1(){
System.out.println("test1");
}
@Test
public void test2(){
System.out.println("test2");
}
@AfterSuite
public void conn11(){
System.out.println("测试套件后置:相当于整个项目");
}
@AfterTest
public void conn22(){
System.out.println("测试模块后置:相当于一个模块");
}
@AfterSuite
public void conn33(){
System.out.println("测试类后置:相当于一个子模块");
}
@AfterMethod
public void conn44(){
System.out.println("测试用例后置:相当于一个用例");
}
}
3.3TestNG断言
@Test
public void test3(){
System.out.println("test3");
Assert.assertEquals("实际结果","预期结果");
}
@Test
public void test3(){
System.out.println("test3");
Assert.assertTrue(true);
}