看一下我的目录结构,新建一个包,名字叫做suite,主要为了做套件的测试用。然后在resource下新建一个文件,一般的叫做testng.xml,我这里随便起个名字,叫做suite.xml。
运行的时候鼠标放置在suite.xml上面,右键点击运行
那具体的代码如下:
#SuiteConfig.java package com.course.testng.suite; import org.testng.annotations.AfterSuite; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeSuite; import org.testng.annotations.BeforeTest; public class SuiteConfig { @BeforeSuite public void beforeSuite(){ System.out.println("before suite 运行"); } @AfterSuite public void afterSuite(){ System.out.println("after suite 运行"); } @BeforeTest public void beforeTest(){ System.out.println("BeforeTest 运行"); } @AfterTest public void afterTest(){ System.out.println("AfterTest 运行"); } }
#LoginTest.java package com.course.testng.suite; import org.testng.annotations.Test; public class LoginTest { @Test public void loginTaobao(){ System.out.println("淘宝登陆成功"); } }
#PayTest.java package com.course.testng.suite; import org.testng.annotations.Test; public class PayTest { @Test public void paySuccess(){ System.out.println("支付宝支付成功"); } }
# suite.xml <?xml version="1.0" encoding="UTF-8" ?> <suite name="test"> <test name="login"> <classes> <class name="com.course.testng.suite.SuiteConfig"/> <class name="com.course.testng.suite.LoginTest"/> </classes> </test> <test name="pay"> <classes> <class name="com.course.testng.suite.SuiteConfig"/> <class name="com.course.testng.suite.PayTest"/> </classes> </test> </suite>
运行结果:
由上可以看出,套件包裹着测试用例,测试用例总是在最里面包裹。suite.xml文件有具体的层次结构,测试套件在最外面,一个测试套件可以包裹好几个测试用例。
首先有<suite name="test"> </suite> 标签在最外面,名字随便起一个,我叫test
然后用<test name="login"></test> <test name="pay"></test> 区分两个测试类
之后在用之后的<classes></classes>包裹测试用例,name里面写的是包名.类名
<classes>
<class name="com.course.testng.suite.SuiteConfig"/>
<class name="com.course.testng.suite.LoginTest"/>
</classes>