TestNg
TestNg 是java的一个自动化单元测试框架 参考:环境准备
既然是java 的自动化单元测试框架,就必须要有java的环境了,这里使用的编辑器是Eclipse,已经安装过TestNg 插件,如果环境准备好就可以开始了代码实例
代码结构如图新建一个java项目,之后添加一个TestNg类,之后会生成一个测试类,和一个xml文件
(如果发现TestNg编辑是出错,无法调用TestNg的标签函数,那么导入TestNg.jar.可以右键点击项目,之后BuildPath ->add Libary->选择TestNg 即可)
简单地TestNg类package TestNgDemo;//使用TestNg 测试框架import org.testng.Assert;import org.testng.annotations.Test;import org.testng.annotations.BeforeClass;import org.testng.annotations.AfterClass;public class NewTest { //测试开始前执行一次 @BeforeClass public void beforeClass() { System.out.println("开始前执行一次"); } @Test public void case1() { System.out.println("case1"); } @Test public void case2() { int a = 2; int b = 3; int sum = a+b; Assert.assertEquals(sum, 5, "Result Error"); System.out.println("case2"); } //测试结束时执行一次 @AfterClass public void afterClass() { System.out.println("结束时执行一次"); }}
对应的Xml配置文件(TestNg 都是通过注释标签,有点类似Junit,并且通过xml文件托管):
使用TestNg Xml 进行数据驱动传递参数package TestNgDemo;//使用TestNg 传递参数import org.testng.annotations.Parameters;import org.testng.annotations.Test;import org.testng.annotations.BeforeMethod;import org.testng.annotations.AfterMethod;public class NewTest2 { @BeforeMethod public void beforeMethod() { System.out.println("每个方法运行时运行"); } //通过Parameters 获取Xml 中指定的参数 @Parameters({ "name","age"}) @Test public void case1(String name,int age) { System.out.println("case1 Name is"+ name); System.out.println("case1 Age is"+ age); } @Test public void case2() { System.out.println("case2"); } @AfterMethod public void afterMethod() { System.out.println("每个方法结束时运行"); }}
对应的xml如下:
通过xml设置分组,运行不同的casepackage TestNgDemo;//TestNg 分组运行import org.testng.annotations.AfterMethod;import org.testng.annotations.BeforeMethod;import org.testng.annotations.Parameters;import org.testng.annotations.Test;import org.testng.annotations.BeforeClass;import org.testng.annotations.AfterClass;public class NewTest3 { @BeforeMethod public void beforeMethod() { System.out.println("Begain"); } @Parameters({ "name","age"}) @Test(groups="CaseGroup1") public void case1(String name,int age) { System.out.println("case1 Name is"+ name); System.out.println("case1 Age is"+ age); } @Test(groups="CaseGroup2") public void case2() { System.out.println("case2"); } @AfterMethod public void afterMethod() { System.out.println("End"); }}
对应的xml文件如下,需要运行那个组的时候,就可以直接更改:
TestNg 是通过Xml文件管理测试累的,可以看到,每个测试方法都可以看做一条Case,并且开头都有 作为测试标记
更多的TestNg xml管理的例子可以参考: TestNg 主要的就是通过Xml 托管,注释标签调用