testNG官方文档翻译-2 注解
这里是一份TestNG中的可用注解及其属性的概述。
一、用于一个TestNG类的信息配置的注解:
- @BeforeSuite:被BeforeSuite注解的方法将在其所在suite中的所有test运行之前执行;
注:例如BeforeSuite方法在Class1中,test1方法在Class1中,test2方法在Class2中,Class2在testng中优先级较高,则执行顺序BeforeSuite-》test2-》test1
- @AfterSuite:被AfterSuite注解的方法将在其所在suite中的所有test运行之后执行;
注:多个类中多个BeforeSuite/AfterSuite将按照testng.xml中的顺序执行
Class1:BeforeSuite1,AfterSuite1,test1;Class2:BeforeSuite2,AfterSuite2,test2;
testng.xml顺序:Class2-》Class1
执行顺序 BeforeSuite2-》BeforeSuite1-》test2-》test1-》AfterSuite2-》AfterSuite1
- @BeforeTest:被注解的方法将在test标签包含的类中的任一测试方法运行之前执行;
注:BeforeTest方法属于类Class1,Class1、Class2被包含在标签test模块中,Class1、Class2分别含有多个method
Class1:BeforeTest方法,test1,test2,;Class2:test3,test4
testng.xml配置:test标签包含Class1、Class2
执行顺序 BeforeTest-》test1-》test2-》test3-》test4
- @AfterTest:被注解的方法将在test标签包含的类中的所有测试方法运行之后执行;
- @BeforeGroups:这个被注解的方法将在组列表执行之前运行,这个方法用于保证组列表中的第一个测试方法被触发之前快速执行;
注:groups用于给类(多个类)中的方法分组,在testng.xml中体现在在 test标签中配置类的groups,该test仅运行groups中的方法;
在类中通过 @Test的groups参数确定方法所属组,在 @BeforeGroups中同样需要groups参数确定方法所属组
- @AfterGroups:这个被注解的方法将在组列表执行之后运行,这个方法用于保证组列表中的最后一个测试方法被触发之后快速执行;
- @BeforeClass:被注解的方法将在当前类中第一个测试方法被触发之前执行;
- @AfterClass:被注解的方法将在当前类中所有测试方法被运行完之后执行;
- @BeforeMethod:被注解的方法将在每一个测试方法运行之前执行;
- @AfterMethod:被注解的方法将在每一个测试方法运行之后执行;
一个TestNG类的父类的注解表现
当在一个TestNG类的父类中加入上述注解时,相应的注解行为将在TestNG类中被继承。当需要对多个测试类的通用父类进行集中的测试设置时,继承功能将很有用。在继承的情况下,TestNG将保证"@Before"的方法按继承顺序执行(高级父类优先,然后是继承链),"After"的方法逆序执行(按继承链反向执行)。
参数:
- alwaysRun:对于Before方法,当该参数设置为true时,不论被配置方法属于哪个群组,它都会执行;对于After方法,当该参数设置为true时,即使前面触发的方法执行失败或者被跳过,被配置方法都会执行。
注:即当一个before方法被配置为alwaysRun时,其执行不再受群组属性限制;
例如类Class1中,beforeTest方法所属groups={"functest"},alwaysRun=true,其他test1、test2方法为groups={"checkintest"},xml中配置 test运行的群组为checkintest,但在执行时,忽略群组属性
执行顺序为 beforeTest-》test1、test2
- dependsOnGroups:这个方法需要依赖的群组列表;
- dependsOnMethods:这个方法需要依赖的方法列表;
注:用于定义执行顺序,DependsOnMethods是强依赖,DependsOnGroups是弱依赖
- enabled:这个类或方法是否激活;
注:enabled=false时,该方法不执行;默认为true
- groups:这个方法/类所属于的群组列表;
- inheritGroups:如果为true,这个方法将属于类级别中被 @Test注解的群组
二、DataProvider
- @DataProvider:将一个方法标记为另一个 @Test方法的数据源;被标记的方法需返回一个Object[][],其中每一个Object[]都是 @Test方法的一份参数列表。想要接收数据源的 @Test方法需要标注一个和数据源相同的名字;
参数:
- name:数据源的唯一名字,供其他测试方法通过名字引用数据源。如果该参数没有被提供,将被自动设置为这个被注解方法的名字。
- parallel:如果设置为true,则引用data provider的tests将会并行执行,默认值为false。
三、Factory
- @Factory:将一个方法标记为工厂,该被标记方法返回的数据将会被TestNG作为测试类使用,这个方法必须返回Object[]
关于Factory,有一篇详细介绍
http://www.cnblogs.com/zhaochifan/p/5216383.html
四、Listeners
- @Listeners:定义在测试类上放置的监听器
参数
- value:一系列继承了org.testng.ITestNGListener的类
五、Parameters
- @Parameters:描述如何将参数传递给一个 @Test方法;
参考文档:http://blog.csdn.net/kaku21/article/details/49943443
参数
- value:用于填充该方法的参数的变量列表;
六、Test
- @Test:将一个方法/类标记为测试的一部分;
参数:
- alwaysRun:如果设置为true,即使这个测试方法所依赖的方法运行失败,它仍然会运行;
- dataProvider:用于标注这个测试方法的data provider的名称
- dataProviderClass:标注其data provider所在的类。如果没有使用该参数,测试方法将在其所在类或其父类中寻找data provider;如果这个参数被使用了,测试方法的data provider方法需要是该类中的静态方法;
- dependsOngroups:测试方法所依赖的组列表
- dependsOnMethods:测试方法所依赖的方法列表
- description:测试方法的描述信息
- enabled:关于这个类/方法的其他方法是否可用
- expectedExceptions:期望测试方法抛出的异常列表。如果没有异常或者一个不同于该列表的异常被抛出,该测试将被标记为失败
- groups:这个类/方法所属的组列表
- invocationCount:这个测试方法应该被触发的次数
- invocationTimeOut:这个测试方法被全部触发的所有累计时间的最大值,以毫秒记;如果invocationCount未使用,此属性将被忽略;
- priority:这个测试方法的优先级,低级别的方法将优先被调用;
- successPercentage:这个测试方法期望运行成功的百分比
- singleThreaded:如果设置为true,这个测试类里的所有方法将在同一个线程中执行,即使这些方法带着参数parallel="method"在运行;这个属性只能被使用在类级别,如果被使用在方法级别将会被忽略。PS:这个属性曾用名为sequential。
- timeOut:测试消耗时间的最大值,以秒记;
- threadPoolSize:测试方法的线程池数量,这个测试方法将被以invocationCount标记的多个线程触发;PS:如果invocationCount未设置,此属性将被忽略。
testNG官方文档翻译-2 注解的更多相关文章
- testNG官方文档翻译-5 测试方法,测试类和测试组
5.1 - 测试方法 测试方法是被 @Test注解的方法.这些方法的返回值会被忽略,除非在testng.xml中将allow-return-values设置为true. <suite allow ...
- testNG官方文档翻译-3 testng.xml
你可以通过以下几种不同的方法触发TestNG: 用一个testng.xml文件 使用ant 从命令行触发 这个章节将会介绍testng.xml的格式(你也可以在下面找到关于ant和命令行的内容). 关 ...
- testNG官方文档翻译-1 简介
官方文档链接http://testng.org/doc/documentation-main.html 简介 TestNG是一个被设计用来简化广泛的测试需求的测试框架,它既可应用于单元测试(测试一个独 ...
- testNG官方文档翻译-4 运行TestNG
TestNG可以通过不同的方法触发运行: 命令行 ant Eclipse IntelliJ's IDEA
- Spring官方文档翻译(1~6章)
Spring官方文档翻译(1~6章) 转载至 http://blog.csdn.net/tangtong1/article/details/51326887 Spring官方文档.参考中文文档 一.S ...
- GreenDao官方文档翻译(上)
笔记摘要: 上一篇博客简单介绍了SQLite和GreenDao的比较,后来说要详细介绍下GreenDao的使用,这里就贴出本人自己根据官网的文档进行翻译的文章,这里将所有的文档分成上下两部分翻译,只为 ...
- Retrofit官方文档翻译
Retrofit官方文档翻译 官方文档网址 http://square.github.io/retrofit/ 介绍 Retrofit 将你的 HTTP API 转换为 Java 接口. public ...
- Data Binding Guide——google官方文档翻译(下)
这篇博客是Data Binding Guide官网文档翻译的下篇.假设没看过前半部分翻译的能够先看Data Binding Guide--google官方文档翻译(上) 一,数据对象 不论什么不含业 ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)中一些知识点
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Flume官方文档翻译--Flume 1.7.0 User Guide (unr ...
随机推荐
- 14. Django MTV及Django模型
MTV 我们或许都听说过MVC模式.MVC是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码.Django ...
- TTL 与 CMOS
Frm: https://blog.csdn.net/qq_27745395/article/details/76687175 http://baijiahao.baidu.com/s?id=1598 ...
- jmeter压测、操作数据库、分布式、 linux下运行的简单介绍
一.jmeter压测 1.如何压测 常规性能压测:10-15分钟 稳定性测试:一周.2天等 如果想要压测10分钟,勾选永远,勾选调度器,填写600秒.也可以使用固定启动时间. 2.tps.响应时间 ( ...
- Python 文件及文件夹处理
import os,shutil def getfilelist(filepath): filelist = os.listdir(filepath) # 获取filepath文件夹下的所有的文件 # ...
- CSS 中的各种居中 (水平、垂直)
导读: CSS 的居中有水平居中和垂直居中,这两种居中又分为行内元素居中和块级元素居中.根据父.子元素的高度是否清楚,又会使得不同的居中用不同方法.本文就其中一些情况做下简单说明,以作笔记之用,仅供大 ...
- redis demo
方法hset(String key,String field,String value),hmset(String key, Map<String,String> hash),hgetAl ...
- 那些年踩过的eleUl上传图片的坑?
html : <el-upload :headers="header" // 请求头参数(一般包含token,认证参数authorization) :data="u ...
- C语言注意事项
#include <stdio.h> int main() { /*********************************************** * 指针使用注意事项: * ...
- js数组去重练习
- npm 安装扩展模块时,因缓存报错的问题汇总
1.缓存报错问题一 : unexpected end of file 解决方法:运行:npm cache verify 清除缓存 2.缓存报错问题二 : errno -4048(网上一般说 ...