`
sdyouyun
  • 浏览: 119376 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

TestNG的组管理

阅读更多
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安装包

    TestNG是一个Java的框架,所以第一个要求是JDK要安装在你的机器上。 系统要求 JDK 1.5或以上 内存 没有最低要求 磁盘空间 没有最低要求 操作系统 没有最低要求 步骤1 -验证Java安装在你的机器上 现在,打开...

    testNG6.11.0

    1.下载testNG 离线安装包【eclipse-testng离线包】,并解压。 2.将解压后的文件..\eclipse-testng离线包\features\目录下的文件夹org.testng.eclipse_6.11.0.201703011520放到eclipse安装路径下的features目录下 3....

    TestNG的离线安装包

    1. 将解压后的文件..\eclipse-testng离线包\features\org.testng.eclipse_6.9.9.201510270734 文件夹 放到 eclipse--》features目录下 2. 将解压后的文件..\eclipse-testng离线包\plugins\org.testng.eclipse_6.9...

    testng-6.3.jar

    testNG 自动化测试工具 工具类 testng-6.3.jar

    testng测试报告模板BeautifulReport.7z

    1、testng测试报告模板BeautifulReport 2、testng.xml文件

    testNg介绍

    testNg介绍

    testng-6.9.4和testng-6.8.8.zip

    testng-6.8.8

    testng-6.9-10

    testng-6.9-10 jar包

    testng-6.9.6.jar

    最新testng jar包,testng-6.9.6.jar

    testng-6.8.8文件

    testng-6.8.8文件

    eclipse 安装testNG 离线包

    1. 将解压后的文件..\eclipse-testng离线包\features\org.testng.eclipse_6.9.9.201510270734 文件夹 放到 eclipse--》features目录下 2. 将解压后的文件..\eclipse-testng离线包\plugins\org.testng.eclipse_...

    testng-6.10.jar

    testng-6.10.jar

    testNG eclipse插件包

    2.将解压后的文件..\eclipse-testng离线包\features\目录下的文件夹org.testng.eclipse_6.8.6.20130607_0745放到eclipse-->features目录下 3.将解压后的文件..\eclipse-testng离线包\org.testng.eclipse_6.8.6....

    eclipse-testng离线安装包

    1.下载testNG 离线安装包【eclipse-testng离线包】,并解压。 2.将解压后的文件..\eclipse-testng离线包\features\目录下的文件夹org.testng.eclipse_6.9.8.201510130443放到eclipse安装路径下的features目录下 3.将...

    [TestNG] TestNG 初学者指南 (英文版)

    [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-results.xsl

    testng-xslt-1.1.2.zip

    testng-xslt-1.1.2.zip

    testng-6.7.jar TestNG依赖包

    TestNG依赖包,包含了org.testng.CommandLineArgs类,导入后可解决因找不到依赖而出现的问题

    eclipse-testng离线包

    eclipse-testng离线包

    testng架包下载

    testng架包使用在java程序中刁颖testng架包

Global site tag (gtag.js) - Google Analytics