Testng 介绍 (一)

发布于 更新于
本文目录
  1. 1、介绍
  2. 2、Quick start
  3. 3、Before/After注解
  4. 4、DataProvider注解
  5. 5、Test注解

技术文章接口测试

官网:TestNG是一个测试框架,旨在简化广泛的测试需求,从单元测试(将一个类与其他类隔离测试)到集成测试(对由多个类,多个程序包甚至几个外部框架组成的整个系统进行测试),例如 应用程序服务器)。

1、介绍

官网:TestNG是一个测试框架,旨在简化广泛的测试需求,从单元测试(将一个类与其他类隔离测试)到集成测试(对由多个类,多个程序包甚至几个外部框架组成的整个系统进行测试),例如 应用程序服务器)。

可以看出TestNG致力于简化测试流程。

2、Quick start

  1. 编写测试的业务逻辑,然后在代码中插入TestNG批注。

  2. 在testng.xml文件中添加有关测试的信息(例如,类名,希望运行的组等)。

  3. 运行TestNG。(可以使用eclipse、idea插件,或者命令)

3、Before/After注解

注解

描述

@BeforeSuite @AfterSuite

带注释的方法将在该套件中的所有测试运行之前运行。
带注释的方法将在该套件中的所有测试运行之后运行。

@BeforeTest @AfterTest

带注释的方法将在运行属于<test>标记内的类的任何测试方法之前运行。
带注释的方法将在运行属于<test>标记内的类的任何测试方法之后运行。

@BeforeGroups @AfterGroups

此配置方法将在其之前运行的组的列表。 保证此方法可以在调用属于任何一个组的第一个测试方法之前运行。
此配置方法将在其之前运行的组的列表。 保证此方法可以在属于任何一个组的测试方法运行之后运行。

@BeforeClass @AfterClass

带注释的方法将在调用当前类中的第一个测试方法之前运行。
带注释的方法将在当前类中的所有测试方法运行之后运行。

@BeforeMethod @AfterMethod

带注释的方法将在每个测试方法之前运行。
带注释的方法将在每个测试方法之后运行。

属性

属性名

描述

alwaysRun

设置为true时,无论什么情况都会运行

dependsOnGroups

依赖的组列表

dependsOnMethods

依赖的方法列表

enabled

设置为false时失效

groups

所属组

inheritGroups

如果为true,则此方法将属于@Test使用在类级别上指定的组。

onlyForGroups

仅适用于@BeforeMethod和@AfterMethod。 如果指定,则仅当相应的测试方法属于列出的组之一时,才调用此setup / teardown方法。

4、DataProvider注解

注解

描述

DataProvider

使用此注解为测试方法提供数据。 带注释的方法必须返回一个Object [] [],可以为每个Object []分配测试方法的参数列表。 想要从此DataProvider接收数据的@Test方法需要使用等于此注释名称的dataProvider名称。

属性

属性名

描述

name

数据提供者的名称。 如果未提供,则此数据提供者的名称将自动设置为方法的名称。

parallel

如果设置为true,所有使用此数据提供者的方法将并行运行。

5、Test注解

注解

描述

Test

使用此注解的方法或者类将被TestNG识别并运行。

属性

属性名

描述

alwaysRun

设置为true时,无论什么情况都会运行

dataProvider

数据提供者的名称

dataProviderClass

如果未指定,将在当前测试方法的类或其父类之一上查找数据提供者。 如果指定了此属性,则数据提供者方法在指定的类上必须是静态的。

dependsOnGroups

依赖的组列表

dependsOnMethods

依赖的方法列表

description

说明

enabled

设置为false时失效

expectedExceptions

预期测试方法将引发的异常列表。 如果未引发任何异常或与该列表中的异常不同,则此测试将标记为失败。

groups

所属组

invocationCount

调用次数

invocationTimeOut

所有invocationCount的累积超时时间。
注意:如果未指定invocationCount,则将忽略此属性。

priority

此测试方法的优先级

successPercentage

该方法预期成功的百分比

singleThreaded

如果设置为true,则即使当前正在使用parallel =“ methods”运行测试,也保证该测试类上的所有方法都可以在同一线程中运行。 此属性只能在类级别使用,如果在方法级别使用,则将被忽略。

timeOut

超时时间

threadPoolSize

此方法的线程池的大小。 该方法将从invocationCount指定的多个线程中调用。
注意:如果未指定invocationCount,则忽略此属性

来源:testingpai

继续阅读