TestNG学习-002-annotaton 注解概述及其执行顺序
此文主要讲述用 TestNG 基础的 annotation (注解)知识,及其执行的顺序,并通过一个 TestNG 简单的实例演示 annotation 的执行顺序。
希望能对初学 TestNG 测试框架的亲们有所帮助。若有不足之处,敬请大神指正,不胜感激!
言归正传,以下为 TestNG 常用的 annotation 及其释义,敬请参阅。
@BeforeSuite:被此注解的方法将在所有测试运行之前运行该方法。
@AfterSuite: 被此注解的方法将在所有测试运行之后运行该方法。
@BeforeTest: 被此注解的方法,将在测试运行之前运行。
@AfterTest: 被此注解的方法,将在测试运行之后运行。
@BeforeGroups:被此配置的方法,将在列表中的 group 前运行,这个方法保证在第一个属于这些组列表的测试方法调用前运行。
@AfterGroups:被此配置的方法,将在列表中的 group 后运行,这个方法保证在最后一个属于这些组列表的测试方法调用后运行。
@BeforeClass:被此注解的方法,将在当前类的第一个测试方法调用之前运行。
@AfterClass:被此注解的方法,将在当前类的所有测试方法调用之后运行。
@BeforeMethod:被此注解的方法,将在每个测试方法调用之前运行。
@AfterMethod:被此注解的方法,将在每个测试方法调用之后运行。
annotation 执行顺序:BeforeSuite > BeforeTest > BeforeClass > DataProvider > BeforeMethod > Test > AfterMethod > AfterClass > AfterTest > AfterSuite
实例源代码如下所示:
/**
* Aaron.ffp Inc.
* Copyright (c) 2004-2015 All Rights Reserved.
*/
package main.java.aaron.sele.demo; import org.testng.Assert;
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; /**
* TestNG annotation(注解)执行顺序实例
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium main.java.aaron.sele.demo TestNG_annotationDemo.java, 2015-1-23 00:57:24 Exp $
*/
public class TestNG_annotationDemo {
@Test(dataProvider = "add")
public void f(int a, int b, int s) {
System.out.println("Test");
Assert.assertEquals((a + b), s, a + " + " + b + " <> " + s);;
} @BeforeMethod
public void beforeMethod() {
System.out.println("BeforeMethod");
} @AfterMethod
public void afterMethod() {
System.out.println("AfterMethod");
} @DataProvider
public Object[][] add() {
System.out.println("DataProvider");
return new Object[][] {
new Object[] { 1, 3, 4 },
new Object[] { 2, 5, 7 },
new Object[] { 2, -5, -3 },
};
} @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");
}
}
TestNG annotation(注解)执行顺序演示实例
脚本执行结果如下所示:
annotation 执行顺序为:BeforeSuite > BeforeTest > DataProvider > BeforeMethod > Test > AfterMethod > AfterClass > AfterTest > AfterSuite
至此,TestNG学习-002-annotaton 注解概述及其执行顺序 顺利完结,希望此文能够给初识 TestNG 测试框架的您一份参考。
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^
TestNG学习-002-annotaton 注解概述及其执行顺序的更多相关文章
- Java学习笔记__异常机制_try_catch_finally_return执行顺序
package cn.xiaocangtian.Exception; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...
- Jmeter学习笔记03-元件作用域及执行顺序
Jmeter可以通过鼠标拖拽来随意改变元件之间的顺序以及元件的层级关系,随着元件所在域的不同,在执行时候,会有不同效果 层级关系和元件类型决定了在测试计划中各元件的执行顺序. 1)元件的作用域: jm ...
- JMeter学习之元件的作用域与执行顺序
1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(conf ...
- testNG官方文档翻译-2 注解
这里是一份TestNG中的可用注解及其属性的概述. 一.用于一个TestNG类的信息配置的注解: @BeforeSuite:被BeforeSuite注解的方法将在其所在suite中的所有test运行之 ...
- testng基础知识:注解的执行顺序
1. 单类,无继承父子关系 code: public class basicTest { @BeforeSuite(alwaysRun = true) public void beforeSuite_ ...
- Java接口自动化测试之TestNG学习(二)
在maven项目的pom.xml文件中导入TestNG <?xml version="1.0" encoding="UTF-8"?> <pro ...
- testNG 学习笔记 Day 1 使用功能详解
TestSuite处理测试用例有6个规约(否则会被拒绝执行测试) A 测试用例必须是公有类(Public) B 测试用例必须继承与TestCase类 C 测试用例的测试方法必须是公有的( Public ...
- 最新学习springboot 配置注解
一.概述 Spring Boot设计目的是用来简化新Spring应用的初始搭建以及开发过程.Spring Boot并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式. ...
- TestNG学习-001-基础理论知识
此 文主要讲述用 TestNG 的基础理论知识,TestNG 的特定,编写测试过程三步骤,与 JUnit4+ 的差异,以此使亲对 TestNG 测试框架能够有一个简单的认知. 希望能对初学 TestN ...
随机推荐
- overload和override的区别(转)
overload和override的区别 override(重写) 1.方法名.参数.返回值相同.2.子类方法不能缩小父类方法的访问权限.3.子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出 ...
- SSH整合所需的jar包
Spring3.1+Hibernate3+Struts2的最新整合所需要的jar包 Spring的基本jar包: 1.org.springframework.web-3.1.4.RELEASE.jar ...
- ckeditor的详细配置
CKEditor 3 JavaScript API Documentation : http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.con ...
- iOS移动开发周报-第21期
iOS移动开发周报-第21期 [摘要]:本期iOS移动开发周报带来如下内容:苹果iCloud中国数据转存中国电信,Swift Operators,100 个 Swift 必备 tips,FLEXLoa ...
- IOS 今天学到太多的知识了,赶快记录下来
TabBarController 修改tabbar的背景颜色和选中时候的颜色: func application(application: UIApplication, didFinishLaunch ...
- Hbuild - 使用海马玩模拟器调试
http://ask.dcloud.net.cn/question/13605 通过海马玩CMD(Droid4X_Settings_Tools_v1.1.5.bat) 设置模拟器的端口 269 ...
- HDU 2094 产生冠军(半拓扑排序+map)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- JavaScript系列:常用方法
文本框输入实时验证身份证号 charAt(索引)<=>indexOf(字符) <!DOCTYPE html> <head> <meta charset=&qu ...
- 【转】SVN环境搭建教程
http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html http://www.cnblogs.com/xiaobaihom ...
- HDU 1058 优先队列or堆
本来应当是一道优先队列或者堆的题 因为每个数都应该是已经得到的数*2 *3 *5 *7而得到的 但是 2*7 大于 3*2 这就必须保证每次取得都是没有拿过的最小的数 但是它主动降低难度在样例里卖了个 ...