TestNg是Java中开源的自动化测试框架,灵感来源于Junit和NUnit。引入Java的注解便于编写和管理测试类和方法
(1)JDK
(2)Intelli IDEA
(3)在IDEA中安装TestNg插件
(4)如果是Maven项目,还需要在pom.xml中添加依赖和插件
org.testng testng 6.10 test
maven-surefire-plugin testng.xml 2.22.1
(1)新建测试用例类
(2)使用注解
@Test(dependsonMethods="test2"):依赖其他方法,运行当前方法之前需要先执行test2@Test(alwayRun=true):设置为true时,无论什么情况都会运行@Test(description="xxx"):对用例进行说明@Test(enabled=false):设置为false时,表示改方法失效
@Test(dataProvider="datas"):设置数据提供者的名称
针对当前项目:
@BeforeSuite:带有该注释的方法将在该套件中的所有测试方法运行之前运行,仅运行一次。
@AfterSuite:带有该注释的方法将在该套件中的所有测试方法运行之后运行,仅运行一次。
@BeforeTest:带有该注释的方法将在运行属于标签内的类的所有测试方法之前执行
@AfterTest:带有该注释的方法将在运行属于标签内的类的所有测试方法之后执行
针对当前类:
@BeforeClass:带有该注释的方法将在调用当前类的第一个测试方法之前执行
@AfterClass:带有该注释的方法将在调用当前类的第一个测试方法之后执行
@BeforMethod:带有该注释的方法将在每个测试方法之前运行
@AfterMethod:带有该注释的方法将在每个测试方法之后运行
@BeforeGroups:此方法保证在调用属于这些组中的任何一个的第一个测试方法之前不久运行。
@AfterGroups:该方法保证在调用属于任何这些组的最后一个测试方法之后不久运行。
@Parameters({"first","last"}):描述如何将参数传递给@Test方法。需要预先在testng.xml中使用标签传入参数名和参数值
(2)@DataProvider:可以传递更多的参数,不需要在xml中写,直接在方法上加注解就可以用
参考:版权声明:本文为CSDN博主「wangjie0925」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
(1)注释方法返回一个Object[][]:明确知道有几组数据
其中每个Object []可以被分配给测试方法的参数列表。 要从该DataProvider接收数据的@Test方法需要使用与此注释名称相等的dataProvider名称。
@DataProvider(name="loginData")private Object[][] LoginDataProvider() throws IOException {Object[][] result=null;SqlSession session=DatabaseUtil.getSqlSession();result=new Object[][]{{session.selectOne("loginTest",1)},{session.selectOne("loginTest",2)}};return result;
}
(2)返回类型是Iterator
@DataProvider(name="loginData")
private Iterator
(3)重要方法:
运行TestNG测试脚本需要配置一个xml文件,使用xml配置文件进行测试用例脚本的执行和管理,在xml配置文件里,不仅可以选择某些需要执行的测试脚本,还可以排除某些不需要运行的测试脚本。
参考:Java+Maven+TestNG - 创建项目篇
编写了测试用例脚本后,就可以修改testng.xml文件了。基本格式如下:
(1)默认的测试报告
执行testng.xml后(maven项目可以使用mvn test命令),在target目录下会生成surefire-reports文件夹,运行index.html文件可以查看报告
(2)ReportNG
在testng.xml中配置监听
在pom.xml文件中添加ReportNG的依赖:
org.uncommons reportng 1.1.4 test org.testng testng com.google.inject guice 4.2.0 test velocity velocity-dep 1.4 com.google.code.gson gson 2.8.0 org.uncommons reportng 1.1.4 test org.testng testng com.google.inject guice 4.2.0 test velocity velocity-dep 1.4
在编辑配置中,取消Listerners中的Use default reports选项
执行testng.xml文件或mvn test,可以看到测试报告在test-output文件夹下
参考:Java自动化测试之TestNG生成测试报告