zoukankan      html  css  js  c++  java
  • TestNG xml配置文件

    简单介绍

      运行TestNG测试脚本可以通过ant构建、xml执行和命令行执行。当想执行某个包或者某个类中的一部分测试脚本的时候,使用xml配置文件是非常便利的,不仅可以选择某些需要执行的测试脚本,还可以排除某些不需要运行的脚本。

    创建testng.xml文件

      IDEA自动生成:https://www.jianshu.com/p/609a4dcf86ad 或者新建文件后缀.xml也可以。

    1.首先声明一个suite名字,用于描述将要运行的测试脚本集,根据需要任意命名,最终这个名字会在testng的测试报告中看到。

    <?xml version="1.0" encoding="UTF-8"?>
    <suite name="SuiteName" verbose="1" >  
        <test name="TestName" >

    2.如果选择的测试脚本是基于组的(使用了@Test (groups={"student"})这样的注解),那么接下来需要声明如何使用这些组:包含或者排除。如果使用了include标签标注某些组,那么在选择的测试脚本中,只有属于那些组的测试脚本会被运行。那些未被选中的测试脚本,或者被选中却不属于某些组的测试脚本都不会被运行。需要注意,一个测试脚本可以属于很多个组,只要有一个组被include标签标注,那么它就会被运行。如果使用了exclude标签标注某些组,那么在选择的脚本中,只有不属于那些组的测试脚本会被运行。如果同时使用了include标签和exclude标签,那么拥有被include标注的组的那些脚本会被运行,拥有被exclude标注的脚本不会被运行。有一个例外是,一个组同时被include和exclude标注了,那么拥有这个组的脚本会被运行。include和exclude标签的使用方式如下:

    <groups>
      <run>
         <include name = "includedGroupName" />
         <exclude name = "excludedGroupName" />
      </run>
    </groups>

    3.选择测试脚本可以从包、类、方法三个层级进行。

    选择一个包:

    <packages>
        <package name="packageName" />
    <packages>

    选择一个类:

    <classes>
        <classe name = "className"/>
    <classes>

    选择一个方法:

    <classes>
        <class name = "className" />
           <methods>
              <include name = "methodName" />
           </methods>
        </class>
    </classes>

    xml文件样例

    1.选择一个包中的全部测试脚本(包含子包)

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="First suite" verbose="1" >
        <test name = "allTestsInAPackage" >
            <packages>
                <package name = "whole.path.to.package.* />
            </packages>
        </test>
    </suite>            

    2.选择一个类中的全部测试脚本

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Second suite" verbose="1" >
        <test name = "allTestsInAClass" >
            <classes>
                <class name="whole.path.to.package.className />
            </classes>
         </test>
    </suite>

    3.选择一个类中的部分测试脚本

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Third suite" verbose="1" >
        <test name = "aFewTestsFromAClass" >
            <classes>
                <class name="whole.path.to.package.className >
                    <methods>
                        <include name = "firstMethod" />
                        <include name = "secondMethod" />
                        <include name = "thirdMethod" />
                    </methods>
                 </class>
            </classes>
        </test>
    </suite>

    4.选择一个包中的某些组

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Fourth suite" verbose="1" >
        <test name = "includedGroupsInAPackage" >
        <groups>
            <run>
                <include name = "includedGroup" />
            </run>
        </groups>
        <packages>
            <package name = "whole.path.to.package.* />
        </packages>
        </test>
    </suite>

    5.排除一个包中的某些组

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Fifth suite" verbose="1" >
    <test name = "excludedGroupsInAPackage" >
       <groups>
          <run>
             <exclude name = "excludedGroup" />
          </run>
       </groups>
       <packages>
          <package name = "whole.path.to.package.* />
       </packages>
    </test>
    </suite>

    再maven的pom.xml文件中配置testng.xml

      需要在pom文件中指明testng.xml文件的位置。maven使用surefire这个插件进行测试,可以执行testng或Junit脚本。

    语法为:

    <suiteXmlFile>src/test/resources/testNGFilesFolder/${testNgFileName}.xml</suiteXmlFile> 
     <dependencies>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>2.8</version>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.19</version>
                    <configuration>
                        <suiteXmlFiles>
                            <suiteXmlFile>testng.xml</suiteXmlFile>//该文件位于工程根目录时,直接填写名字,其它位置要加上路径。
                        </suiteXmlFiles>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    运行测试脚本

    方法一:IDEA鼠标右键testng.xml文件—>Run。

    方法二:进入项目工程的根目录,使用如下命令:

    mvn clean test -Dtestng.xml
  • 相关阅读:
    Matlab矩阵填充--Matlab interp2
    Object::connect: No such slot (QT槽丢失问题)
    QT显示框架嵌入Vs控制台工程
    SLAM: 关于Orb_SLAM的使用小综述
    SLAM: Orb_SLAM中的ORB特征
    Ubuntu安装中文语言包
    装X数学:高雅的数学表示
    图像描述:各种维度图像的逻辑描述形式
    Python__configparser模块
    Python__xml模块
  • 原文地址:https://www.cnblogs.com/huie/p/13030869.html
Copyright © 2011-2022 走看看