TestNG基本注解
TestNG的注解:
注解 | 描述 |
---|---|
@BeforeSuite | 注解的方法将只运行一次,运行所有测试前此套件中。 |
@AfterSuite | 注解的方法将只运行一次此套件中的所有测试都运行之后。 |
@BeforeClass | 注解的方法将只运行一次先行先试在当前类中的方法调用。 |
@AfterClass | 注解的方法将只运行一次后已经运行在当前类中的所有测试方法。 |
@BeforeTest | 注解的方法将被运行之前的任何测试方法属于内部类的 <test>标签的运行。 |
@AfterTest | 注解的方法将被运行后,所有的测试方法,属于内部类的<test>标签的运行。 |
@BeforeGroups | 组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。 |
@AfterGroups | 组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。 |
@BeforeMethod | 注解的方法将每个测试方法之前运行。 |
@AfterMethod | 被注释的方法将被运行后,每个测试方法。 |
@DataProvider |
标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。
该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。 |
@Factory | 作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。 |
@Listeners | 定义一个测试类的监听器。 |
@Parameters | 介绍如何将参数传递给@Test方法。 |
@Test | 标记一个类或方法作为测试的一部分。 |
写一个简单例子验证常用注解的执行过程:
新建一个TestAnntation.java类
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.AfterSuite; public class TestAnnotation { @Test
public void testcase1() {
System.out.println("执行case1");
}
@Test
public void testcase2() {
System.out.println("执行case2");
}
@BeforeMethod
public void beforeMethod() {
System.out.println("我是beforeMethod");
} @AfterMethod
public void afterMethod() {
System.out.println("我是afterMethod");
} @BeforeClass
public void beforeClass() {
System.out.println("我是BeforeClass");
} @AfterClass
public void afterClass() {
System.out.println("我是AfterClass");
} @BeforeTest
public void beforeTest() {
System.out.println("我是BeforeTest");
} @AfterTest
public void afterTest() {
System.out.println("我是AfterTest");
} @BeforeSuite
public void beforeSuite() {
System.out.println("我是BeforeSuite");
} @AfterSuite
public void afterSuite() {
System.out.println("我是AfterSuite");
} }
运行结果:
RemoteTestNG starting
我是BeforeSuite
我是BeforeTest
我是BeforeClass
我是beforeMethod
执行case1
我是afterMethod
我是beforeMethod
执行case2
我是afterMethod
我是AfterClass
我是AfterTest
PASSED: testcase1
PASSED: testcase2
===============================================
Default test
Tests run: 2, Failures: 0, Skips: 0
===============================================
我是AfterSuite
我们可以看到:
首先所有beforeSuite()方法只执行一次。
最后,afterSuite的()方法只执行一次。
即使方法 beforeTest(), beforeClass(), afterClass() 和afterTest() 方法只执行一次。
beforeMethod()方法执行每个测试用例,但在此之前执行的测试用例。
afterMethod()方法执行每个测试用例,但测试用例执行后。
TestNG基本注解的更多相关文章
- 【转】TestNG常用注解
http://blog.csdn.net/d6619309/article/details/52435084 TestNG的注解大部分用在方法级别上.常用的注解列举如下: 1. Before类别和Af ...
- TestNG基本注解(一)
TestNG基本注解 注解 描述 @BeforeSuite 注解的方法将只运行一次,运行所有测试前此套件中. @AfterSuite 注解的方法将只运行一次此套件中的所有测试都运行之后. @Bef ...
- TestNG之注解的生命周期
有必要介绍一下TestNG注解的生命周期,先看一下官网支持的注解有 @BeforeSuite@AfterSuite@BeforeTest@AfterTest@BeforeGroups@AfterGro ...
- TestNG基本注解(注释)
传统的方式来表示JUnit3中的测试方法是测试自己的名字前缀.标记一个类中的某些方法,具有特殊的意义,这是一个非常有效的方法,但命名不很好的扩展(如果我们想添加更多标签为不同的框架?),而非缺乏灵活性 ...
- TestNG配置注解
以下是TestNG支持的注释列表: 注解 描述 @BeforeSuite 在该套件的所有测试都运行在注释的方法之前,仅运行一次. @AfterSuite 在该套件的所有测试都运行在注释方法之后,仅运行 ...
- TestNG系列之:TestNG基本注解(注释)
注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执行 @AfterSuite 注解的方法只运行一次,在当前suite所有测试执行之后执行 @BeforeCl ...
- testng自定义注解
在testng中大部分的注解已经可以满足我们测试的需求,但是在测试的时候想要通过注解的方式加入自己测试一些内容,比如 测试项目 测试描述 验证点等信息,可通过自定义注解的方式实现. 具体操作步骤如下 ...
- TestNG基本注解(二)
1. Before类别和After类别注解 @BeforeSuite @AfterSuite @BeforeTest @AfterTest @BeforeClass @AfterClass @Befo ...
- TestNG常用注解
原文链接:https://www.yiibai.com/testng/basic-annotations.html 以下是TestNG支持的注释列表: 注解 描述 @BeforeSuite 在该 ...
随机推荐
- C# 生成二维码(带Logo)
C# 生成二维码(带Logo) 第一种方式 我们需要引用 ThoughtWorks.QRCode.dll 生成带logo二维码(framework4.0以上) 下载地址:https://pan.ba ...
- CountDownLatch、CyclicBarrier、Samephore浅谈三大机制
CountDownLatch.CyclieBarrier与SamePhore都可用来控制线程的执行,那么他们之间有什么区别呢 CountDownLatch CountDowenlatch可以看成一个线 ...
- Java集合——Collections工具类
Java集合——Collections工具类 摘要:本文主要学习了Collections工具类的常用方法. 概述 Collections工具类主要用来操作集合类,比如List和Set. 常用操作 排序 ...
- MySQL中limit与max同时使用时查询为空的情况
一般情况下使用limit进行分页时通常是第一页就用max和min这些函数去求值,这样的情况是正常的,但是如果limit去到了第二页的时候发现这样用是不行的,原因未知! 修改的方式如下,适合大部分: , ...
- Java中没有C#的out关键字,但可以通过数组实现类似的效果
其实传递的就是数组的指针,里面的每一项的值还是那块内存,所以能直接操作里面的值.如果单纯传指定的值,那么里面操作的就是新的一块内存块. 用数组实现的效果如下: class B{ String cnt= ...
- const、typedef 、 define总结
constkeyword const=read only,修饰的为仅仅读变量而不是常量.const修饰的变量不能用作数组的维数也不能放在switch语句的case:之后. 主要作用有: 1.通过把不希 ...
- ArcGIS 10.1系列产品 升级安装至 ArcGIS 10.2
概要 分享ArcGIS10.1系列产品(包括desktop.engine.server)升级到ArcGIS10.2的过程,并提供安装ArcGIS10.2安装的详细文档下载链接和crack需要的文件: ...
- ubuntu环境准备
一. 桌面方面看起来比较不爽,12的版本用起更不习惯,决定改成命令行登陆 a. vi /ect/default/grub 文件 b. 修改成第二个红框的情况 c. 执行update-grub命令 d ...
- 点击选中/取消选中flag
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- ffmpeg 跟我学 视频教程
最近一段时间找时间录制了一些Ffmpeg视频教程,还有录制完毕,会持续更新,内容会包含Ffmeg保存文件,网络流转发, 编码,解码,播放器制作,以及服务端搭建等等,适合初学者,有需要的朋友的可以关注: ...