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
  • 相关阅读:
    scala之伴生对象的继承
    scala之伴生对象说明
    “Failed to install the following Android SDK packages as some licences have not been accepted” 错误
    PATH 环境变量重复问题解决
    Ubuntu 18.04 配置java环境
    JDBC的基本使用2
    DCL的基本语法(授权)
    ZJNU 1374
    ZJNU 2184
    ZJNU 1334
  • 原文地址:https://www.cnblogs.com/huie/p/13030869.html
Copyright © 2011-2022 走看看