日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

testng执行参数_TestNG中注解使用 笔记

發(fā)布時(shí)間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 testng执行参数_TestNG中注解使用 笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、Before和After類注解

1、@BeforeSuite、@AfterSuite

2、@BeforeTest、@AfterTest

3、@BeforeClass、@AfterClass

4、@BeforeMethod、@AfterMethod

5、執(zhí)行順序:創(chuàng)建TestNGDomr01 TestNGDomr02 兩個(gè)文件內(nèi)容一樣,看代碼執(zhí)行結(jié)果。

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");

}

}

//結(jié)果

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的相關(guān)屬性

1、alwaysRun:如果為ture,表示該測試方法所依賴的測試方法即使失敗了也會繼續(xù)執(zhí)行。

2、dataProvider:選定傳入?yún)?shù)的構(gòu)造器。

3、dataProviderClass:確定參數(shù)構(gòu)造器的Class類。

4、dependsOnGroups:確定依賴的前置測試組名。

5、dependsOnMethods:確定依賴的前置測試方法。

6、enabled:默認(rèn)為true,如果指定為false,表示不執(zhí)行該測試方法。

7、expectedException:指定期待測試方法拋出的異常,多個(gè)異常類型以逗號分隔。

8、groups:指定該測試方法所屬的組,可以指定多個(gè)組,以逗號隔開。

9、invocationCount:指測試方法需要被調(diào)用的次數(shù)

10、invocationTimeOut:每一次超時(shí)的調(diào)用時(shí)間,單位是毫秒。

11、priority:測試方法優(yōu)先級設(shè)置,數(shù)值越低,優(yōu)先級越高。

12、timeOut:整個(gè)測試方法超時(shí)時(shí)間,單位是毫秒。

三、TestNG參數(shù)化

1、@Parameters,配合testng.xml使用,注意需要運(yùn)行testng.xml文件不然會會報(bào)錯

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,引用時(shí)需要標(biāo)注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、創(chuàng)建一個(gè)testng.xml文件,需要聲明suite名稱,用于描述要運(yùn)行的測試腳本集。

2、可以選擇一個(gè)包執(zhí)行。

3、可以選擇一個(gè)類執(zhí)行

4、可以選擇類下的某幾個(gè)方法執(zhí)行。

5、可以指定組執(zhí)行。

//文件并不能執(zhí)行 只是列出如何選擇包、類、方法、組執(zhí)行

五、ReportNG報(bào)告

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文件添加

//在元素中進(jìn)行配置

3、運(yùn)行testng.xml文件,可以在當(dāng)前目錄下的test-output\html\index.html中查看生成的ReportNG報(bào)告。

其他

1、使用testng類需要在Project-》src-》test-》java下創(chuàng)建java class文件。

2、創(chuàng)建testng.xml文件,File-》New-》File-》testng.xml。

3、Project的Groupid可以在pom.xml文件中查看。

總結(jié)

以上是生活随笔為你收集整理的testng执行参数_TestNG中注解使用 笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。