1. Groups的执行顺序。
如果选择执行某个组的Test,实际执行顺序是这样的:@BeforeClass->@BeforeGroups->@Test->@AfterGroups->@AfterClass。
如果Groups分布在多个类里,比如Test1和Test2两个类,则可能是这样子的:
Test1.@BeforeClass->
@BeforeGroups->Test1.@Test->Test1.@AfterClass->
Test2.@BeforeClass->Test2.@Test->
@AfterGroups->Test2.@AfterClass
另外注意,如果不声明@BeforeClass、@AfterClass是属于要执行的Groups的,则不会执行@BeforeClass、@AfterClass。
2. 再有多个分组时,慎用BeforeGroup、AfterGroups
如代码
@BeforeGroups(groups = { "function", "smoketest" })
public void beforeGroup() {
//something
}
@AfterGroups(groups = { "function", "smoketest" })
public void afterGroup() {
//do something
}
@Test(groups = { "function" })
public void testMethod2() {
//do something
}
@Test(groups = { "smoketest","function" })
public void testMethod2() {
//do something
}
这样的情况,如果在执行是不指定组也就是执行全部组的话,beforeGroup会执行两次(两个组执行之前、之后各一次),AfterGroups只会执行一次(不知道什么原因)。如果要想让beforeGroup只在第一个组执行前执行一次,afterGroup在最后一个组执行完毕后执行一次,可以用一个小技巧,用一个静态变量来记录执行的次数。如:
private static int runNum=0;
@BeforeGroups(groups = { "function", "smoketest" })
public void beforeGroup() {
if (runNum == 0) {
runNum++;
//do something
}else{
runNum++;
}
}
@AfterGroups(groups = { "function", "smoketest" })
public void afterGroup() {
//do something
}
以上其实只是一种情况,如果组分布在多个类里,情况可能又会有不同,还没有仔细研究。
我总觉得TestNG在组管理这方面做得比较乱,官方的文档也没有很好的说明。尽量慎用啊……
分享到:
相关推荐
TestNG是一个Java的框架,所以第一个要求是JDK要安装在你的机器上。 系统要求 JDK 1.5或以上 内存 没有最低要求 磁盘空间 没有最低要求 操作系统 没有最低要求 步骤1 -验证Java安装在你的机器上 现在,打开...
1.下载testNG 离线安装包【eclipse-testng离线包】,并解压。 2.将解压后的文件..\eclipse-testng离线包\features\目录下的文件夹org.testng.eclipse_6.11.0.201703011520放到eclipse安装路径下的features目录下 3....
1. 将解压后的文件..\eclipse-testng离线包\features\org.testng.eclipse_6.9.9.201510270734 文件夹 放到 eclipse--》features目录下 2. 将解压后的文件..\eclipse-testng离线包\plugins\org.testng.eclipse_6.9...
testNG 自动化测试工具 工具类 testng-6.3.jar
1、testng测试报告模板BeautifulReport 2、testng.xml文件
testNg介绍
testng-6.8.8
testng-6.9-10 jar包
最新testng jar包,testng-6.9.6.jar
testng-6.8.8文件
1. 将解压后的文件..\eclipse-testng离线包\features\org.testng.eclipse_6.9.9.201510270734 文件夹 放到 eclipse--》features目录下 2. 将解压后的文件..\eclipse-testng离线包\plugins\org.testng.eclipse_...
testng-6.10.jar
2.将解压后的文件..\eclipse-testng离线包\features\目录下的文件夹org.testng.eclipse_6.8.6.20130607_0745放到eclipse-->features目录下 3.将解压后的文件..\eclipse-testng离线包\org.testng.eclipse_6.8.6....
1.下载testNG 离线安装包【eclipse-testng离线包】,并解压。 2.将解压后的文件..\eclipse-testng离线包\features\目录下的文件夹org.testng.eclipse_6.9.8.201510130443放到eclipse安装路径下的features目录下 3.将...
[Packt Publishing] TestNG 初学者指南 (英文版) [Packt Publishing] TestNG Beginner's Guide (E-Book) ☆ 图书概要:☆ Write robust unit and functional tests with the power of TestNG Overview Step-by-...
testng-results.xsl
testng-xslt-1.1.2.zip
TestNG依赖包,包含了org.testng.CommandLineArgs类,导入后可解决因找不到依赖而出现的问题
eclipse-testng离线包
testng架包使用在java程序中刁颖testng架包