testng执行参数_TestNG中注解使用 笔记
一、Before和After類注解
1、@BeforeSuite、@AfterSuite
2、@BeforeTest、@AfterTest
3、@BeforeClass、@AfterClass
4、@BeforeMethod、@AfterMethod
5、執行順序:創建TestNGDomr01 TestNGDomr02 兩個文件內容一樣,看代碼執行結果。
import org.testng.annotations.*;
public class TestNGDome01 {
@BeforeSuite
public void BeforeSuite(){
System.out.println(this.getClass().getName()+":@BeforeSuite");
}
@BeforeTest
public void BeforeTest(){
System.out.println(this.getClass().getName()+":@BeforeTest");
}
@BeforeClass
public void BeforeClass(){
System.out.println(this.getClass().getName()+":@BeforeClass");
}
@BeforeMethod
public void BeforeMethod(){
System.out.println(this.getClass().getName()+":@BeforeMethod");
}
@Test
public void Test01(){
System.out.println(this.getClass().getName()+":@Test01");
}
@Test
public void Test02(){
System.out.println(this.getClass().getName()+":@Test02");
}
@AfterMethod
public void AfterMethod(){
System.out.println(this.getClass().getName()+":@AfterMethod");
}
@AfterClass
public void AfterClass(){
System.out.println(this.getClass().getName()+":@AfterClass");
}
@AfterTest
public void AfterTest(){
System.out.println(this.getClass().getName()+":2AfterTes");
}
@AfterSuite
public void AfterSuite(){
System.out.println(this.getClass().getName()+"@AfterSuite");
}
}
//結果
TestNGDome01:@BeforeSuite
TestNGDome02:@BeforeSuite
TestNGDome01:@BeforeTest
TestNGDome02:@BeforeTest
TestNGDome01:@BeforeClass
TestNGDome01:@BeforeMethod
TestNGDome01:@Test01
TestNGDome01:@AfterMethod
TestNGDome01:@BeforeMethod
TestNGDome01:@Test02
TestNGDome01:@AfterMethod
TestNGDome01:@AfterClass
TestNGDome02:@BeforeClass
TestNGDome02:@BeforeMethod
TestNGDome02:@Test01
TestNGDome02:@AfterMethod
TestNGDome02:@BeforeMethod
TestNGDome02:@Test02
TestNGDome02:@AfterMethod
TestNGDome02:@AfterClass
TestNGDome01:@AfterTest
TestNGDome02:@AfterTest
TestNGDome01:@AfterSuite
TestNGDome02:@AfterSuite
===============================================
Suite1
Total tests run: 4, Failures: 0, Skips: 0
===============================================
Process finished with exit code 0
二、@Test的相關屬性
1、alwaysRun:如果為ture,表示該測試方法所依賴的測試方法即使失敗了也會繼續執行。
2、dataProvider:選定傳入參數的構造器。
3、dataProviderClass:確定參數構造器的Class類。
4、dependsOnGroups:確定依賴的前置測試組名。
5、dependsOnMethods:確定依賴的前置測試方法。
6、enabled:默認為true,如果指定為false,表示不執行該測試方法。
7、expectedException:指定期待測試方法拋出的異常,多個異常類型以逗號分隔。
8、groups:指定該測試方法所屬的組,可以指定多個組,以逗號隔開。
9、invocationCount:指測試方法需要被調用的次數
10、invocationTimeOut:每一次超時的調用時間,單位是毫秒。
11、priority:測試方法優先級設置,數值越低,優先級越高。
12、timeOut:整個測試方法超時時間,單位是毫秒。
三、TestNG參數化
1、@Parameters,配合testng.xml使用,注意需要運行testng.xml文件不然會會報錯
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class ParametersTestng {
@Parameters({"first-name"})
@Test
public void test(String name){
System.out.println(name);
}
@Parameters({"first-name","second-name"})
@Test
public void test2(String name1,String name2){
System.out.println("full name:"+name1+" "+name2);
}
}
//xml文件
2、@DataProvider
如果引用外部的@DataProvider,需要把方法聲明為Static,引用時需要標注dataProviderClass。
import org.testng.annotations.Test;
public class ParametersTestng {
@Test(dataProvider = "DataProviderTest",dataProviderClass = DataProviderTest.class)
public void test(String name1,String name2){
System.out.println(name1+":"+name2);
}
}
public class DataProviderTest {
@DataProvider(name = "DataProviderTest")
public static Object[][] Datatest(){
return new Object[][]{
{"first-name","zhang"},
{"second-name","san"}
};
}
}
四、xml配置文件
1、創建一個testng.xml文件,需要聲明suite名稱,用于描述要運行的測試腳本集。
2、可以選擇一個包執行。
3、可以選擇一個類執行
4、可以選擇類下的某幾個方法執行。
5、可以指定組執行。
//文件并不能執行 只是列出如何選擇包、類、方法、組執行
五、ReportNG報告
1、修改pom文件添加
org.uncommons
reportng
1.1.4
org.testng
testng
com.google.inject
guice
4.0-beta5
org.apache.maven.plugins
maven-surefire-plugin
src/test/java/testng.xml
usedefaultlisteners
false
listener
org.uncommons.reportng.HTMLReporter
target/
2、修改testng.xml文件添加
//在元素中進行配置
3、運行testng.xml文件,可以在當前目錄下的test-output\html\index.html中查看生成的ReportNG報告。
其他
1、使用testng類需要在Project-》src-》test-》java下創建java class文件。
2、創建testng.xml文件,File-》New-》File-》testng.xml。
3、Project的Groupid可以在pom.xml文件中查看。
總結
以上是生活随笔為你收集整理的testng执行参数_TestNG中注解使用 笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云枢认证考试_云枢
- 下一篇: correl函数相关系数大小意义_矩阵的