TestNG框架的常会用注释及属性

1 ,TestNG介绍
TestNG java的一个单元测试框架,TestNG吸取了Junit框架的思想,形成了更强大的集成测试框架。

2, TestNG特点

支持注解;

灵活的运行配置;

支持多线程、忽略、异常、参数化等测试。
3,@Test是TestNG 最基本的注解,用来将方法标注为测试方法。

4, enable 测试方法是否执行

enable默认是true, 表示执行这个方法,如果设置为false,则在运行时不会执行这个测试方法。

5,dependsOnMethods 依赖方法

dependsOnGroups   依赖

在依赖的方法运行完成之后运行当前方法,如果依赖方法测试不通过,那么当前方法也不会继续运行了。

依赖的方法可以有多个,格式为:@Test(dependsOnMethods = { "method1" , “method2” })

在运行时,一个组的方法会一起运行,然后再运行下一个组的方法;

格式为:@Test(groups = "groupName")

 

6,timeOut 超时属性

格式:@Test(timeOut = 3000) 设置超时时间,单位为毫秒。

 7, 多线程测试

格式:@Test(invocationCount = 3threadPoolSize = 2)

参数说明:

invocationCount:线程调用的次数,默认1次。

threadPoolSize:线程池,需与invocationCount组合使用,创建一个线程池子以多线程运行测试方法.可以降低测试方法的运行时间。

 

8,groups 分组

在运行时,一个组的方法会一起运行,然后再运行下一个组的方法;格式为:@Test(groups = "groupName")

 

1,指定特定类

新建两个包,每个包下分别新建类

标签说明:

<suite>: 定义一个套件,一个xml文件只能有一个<suite>name 用来定义测试套件的名称。

<test>: 表示定义了一个测试,name 定义测试的名称。

<classes>: 表示定义一组测试类。

<class>: 表示定义某个测试类,name 指定要运行的测试类。

 2,指定特定方法

指定特定方法即执行特定的测试用例,内容如下:

标签说明:

<suite>: 定义一个套件,一个xml文件只能有一个<suite>name 用来定义测试套件的名称。

<test>: 表示定义了一个测试,name 定义测试的名称。

<classes>: 表示定义一组测试类。

<class>: 表示定义某个测试类,name 指定要运行的测试类。

<methods>:表示定义一组方法。

<include>:表示包含哪个方法,name指定要运行的测试用例。

 

TestNg传递参数的两种方式

TestNG提供了2种传递参数的方式:

testng.xml文件获取参数。

@DataProvider传递一些比较复杂的参数。

XML文件配置

优点:使得代码和测试数据分离,方便维护。

缺点:若是需要传递复杂的参数,或者从Java中创建参数(复杂对象,对象从属性文件或者数据库中读取),这种方法就再也不适用。

Parameter传参

思路:

定义xml配置文件,在文件中申明参数。

使用 @Parameters 注解从测试配置 xml 文件获取参数。

 

 

DataProvider传送参数

如果需要传递一些复杂的参数,靠xml文件就不太适合了。

很多场景是,测试数据需要从java对象或数据库中获取,这时候,我们就需要通过DataProvider方式来提供测试数据。

思路:

(1)首先定义一个数据源的方法,通过@DataProvider注解来标识。

数据源,是方法提供数据,返回一个二维数组。

@DataProvider(name = "data") 通过该注解来标识这个数据源,name为数据源的名称。

@return 返回一个二维数组。

(2)然后定义一个测试方法,通过@Test(dataProvider="data")属性来获取数据。

通过dataProvider来获取数据,执行的次数会根据数据源提供数据的数量。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值