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文件中查看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值