`

testNG标签范围及多suite配置

阅读更多
一、基本注解及其作用范围
1、testNG的基本注解标签:
@Test:用来把方法标记为测试的一部分
@BeforeSuite:对于套件测试,此套件中的所有测试运行之前运行,只运行一次;一个testng.xml文件中只能有一个suite,要想运行多个suite,需要使用<suite-files>标签,后面介绍
@AfterSuite:对于套件测试,此套件中的所有测试运行之后运行,只运行一次;
@BeforeTest:对于套件测试,在testng.xml中所有<test>标签内的所有类的测试方法执行之前运行
@AfterTest:所有<test>内测试方法执行之后运行
@BeforeClass:在调用当前类之前运行
@AfterClass:在调用当前类之后运行
@BeforeMethod:在每个测试方法执行之前都会运行
@AfterMethod:在每个测试方法执行之后都会运行
@BeforeGroups:在调用属于该组的第一个测试方法之前运行
@AfterGroups:在调用属于该组的最后一个测试方法执行之后运行

testng运行时,顺序是这样的:
@BeforeSuite->@BeforeTest->@BeforeClass->{@BeforeMethod->@Test->@AfterMethod}->@AfterClass->@AfterTest->@AfterSuite,其中{}内的有多少个@Test,就循环执行多少次。

2、注解范围:
       除了@BeforeSuite、@BeforeTest、@AfterTest、@AfterSuite可以对不同的测试类生效外,其他的注解的作用范围只在本类中生效。

testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite" parallel="none">
<suite name="Suite1"    verbose="1" >
    <test name="Test">
        <groups>
            <run>
                <include name="functiontest" />
                <exclude name="brokenTests"  />
            </run>
        </groups>
        <classes>
            <class name="TestNGLearn1"/> 
            <methods>
                 <include name="TestNgLearn" /> 
            </methods>
        </classes>
    </test> 
    <test>
        <classes>
            <class name="com.janson.TestNG1"/>
            <class name="com.janson.TestNG2"/>
        </classes>
    </test>
</suite> 


二、多suite配置
        testng的配置文件,一个.xml里面只能有一个suite,那么如果想要设置多个suite怎么弄呢?这个时候需要用到testng的标签<suite-files>。
        UITest.xml:
       
        <?xml version="1.0" encoding="UTF-8" ?>
        <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
            <suite name="UI test">
                <test name="baidu search test">
                    <classes>
                        <class name="testcase.CheckLink"></class>
                    </classes>
               </test>
           </suite>
          


         APITest.xml:
        
         <?xml version="1.0" encoding="UTF-8" ?>
         <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
             <suite name="APITest">
                 <test name="API">
                     <classes>
                         <class name="APITestcase.CheckWeather"></class>
                     </classes>
                 </test>
            </suite>
         

        最后在testng.xml中把APITest.xml和UITest.xml整合起来即可实现多suite,如下图所示:
        <code="java"]
        <?xml version="1.0" encoding="UTF-8" ?>
        <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
            <suite name="systemTest">
                <suite-files>
                    <suite-file path="APITest.xml"></suite-file>
                    <suite-file path="UITest.xml"></suite-file>
                </suite-files>
           </suite>
        </code>

分享到:
评论

相关推荐

    testng-6.9.4和testng-6.8.8.zip

    它还支持使用各种类型的断言来验证测试结果,以及使用TestNG XML Suite文件进行分布式测试,使得在多台机器上并行运行测试成为可能。 总之,TestNG是一款功能强大的测试框架,提供了丰富的选项来满足不同层次的测试...

    TestNG基础概念1

    2. **测试(Test)**:每个测试由 `&lt;test&gt;` 标签定义,它可包含一个或多个 TestNG 类。通过设置 `name` 属性,可以为测试命名,便于管理和识别。 3. **TestNG 类**:TestNG 类是包含至少一个 TestNG 注解的 Java 类...

    testNG单元测试学习总结

    - `&lt;suite&gt;`元素可以包含多个`&lt;test&gt;`元素,从而实现对不同测试类的组合。 - **套件测试Demo**: - 创建Demo目录结构。 - 编写测试类,如`TestConfig`、`TestDatabase`和`TestPerson`。 - 创建`testng_suite.xml...

    testng介绍

    testng.xml文件是TestNG的核心配置文件,用于定义suite、test以及类的配置。通过这个文件可以控制测试的执行顺序、分组以及其他高级特性。 **基本结构**: ```xml &lt;!DOCTYPE suite SYSTEM ...

    TestNG指南

    - **测试**(Test):用`&lt;test&gt;`标签定义,包含一个或多个TestNG类。 - **TestNG类**:用`&lt;class&gt;`标签定义,每个类至少包含一个测试方法。 - **测试方法**:在源代码中用`@Test`注解的方法。 - **配置方法**:使用`...

    testng基础.pdf

    TestNG的测试用例组织结构通常是:一个TestSuite由一个或者多个Test组成,一个Test由一个或者多个测试Class组成,一个测试Class由一个或者多个测试方法组成。testing.xml的配置层级结构通常如下:&lt;suite&gt;&lt;test&gt;...

    TestNG整理1

    在XML文件中定义参数时,TestNG会首先在包含当前类的test标签中查找,如果没有找到,则会向上搜索suite标签。非基本类型的数据可以通过@DataProvider方法返回二维数组或自定义数据结构进行传递。 总的来说,TestNG...

    TestNGProject:TestNG Java项目

    2. **测试套件和测试组**:通过测试套件(Test Suite)可以组织多个测试类和测试方法,测试组(Test Group)则允许将相关的测试用例分组,方便进行分组执行或跳过。 3. **注解驱动**:TestNG使用丰富的注解(如@Test...

    testNg-maven-starter:TestNg简介。 学生的例子

    TestNg是Java编程环境中的一款强大的自动化测试框架,与JUnit相比,它提供了更多高级特性,如并行测试、数据驱动测试、灵活的测试配置以及详细的测试报告。本项目“testNg-maven-starter”是一个入门级的示例,旨在...

    Selenium-Webdriver-TestNG-Framework:登录测试用例

    这可以通过TestNG的`&lt;suite&gt;`标签在`testng.xml`文件中定义。 通过这个框架,我们可以有效地对登录功能进行自动化测试,确保其在各种情况下都能正常工作。同时,由于框架的可扩展性,该方法也可以应用于其他类型的...

    testng

    在HTML标签方面,TestNG允许我们通过XML配置文件来定义测试套件和测试用例,这样可以方便地组织和控制测试的执行流程。HTML与TestNG的关系主要体现在测试结果的展示上,TestNG生成的测试报告通常是以HTML格式呈现,...

    TestNG_Framework

    TestNG还支持使用XML配置文件来组织测试用例,可以定义测试套件(suite)、测试(test)、类(class)和方法(method),并设置执行策略。此外,它还有强大的异常管理和报告生成功能,能够提供详细的测试结果,包括...

    TRP:使用自定义 TestNG 报告器进行试用

    4. **配置 TestNG**:在你的 TestNG 配置文件(testng.xml)中,你需要指定你的自定义报告器。通过 `&lt;listeners&gt;` 标签,你可以添加你的报告类。 5. **整合到项目**:最后,将你的自定义报告器类打包成 JAR 文件,...

    TestNg_Concepts

    1. **测试套件(Suite)**:TestNG允许定义测试套件,这是由多个测试类或测试配置文件组成的集合。在测试套件中,你可以定义测试的执行顺序,甚至可以并行运行不同的测试。 2. **测试类和测试方法**:测试类包含一...

    reportng-1.1.4

    4. 配置TestNG配置文件(testng.xml),在suite标签内添加`&lt;!— ReportNG配置 —&gt;&lt;listeners&gt;&lt;listener class-name="org.uncommons.reportng....

    testNG_ejecutarPruebas_selenium:乌纳尔·帕古纳·Kong特拉

    - 可以创建测试套件(test suite),在其中包含多个测试类,每个类对应一组相关的测试用例。 - 使用TestNG的依赖管理,可以确保某些测试方法在其他方法之后运行,这对于设置和清理工作尤其有用。 - TestNG还提供...

    更改moreunit在workspace中查找Test类

    描述中的“NULL”表示没有具体的细节信息,所以我们需要参考博文链接来获取更多内容。由于无法直接访问外部链接,我将基于一般的实践和理解来解释这个问题。 在Java开发中,测试类通常是与被测代码相分离的,通常以...

Global site tag (gtag.js) - Google Analytics