首页 > 其他分享 >testng.xml文件

testng.xml文件

时间:2024-06-20 15:59:08浏览次数:23  
标签:xml 文件 脚本 INFO testng 测试 include

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

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<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>
    <class 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>

运行测试脚本

方法一:在IDE,例如IntellJ IDEA中,鼠标右击testng.xml文件,选择run即可。

方法二:进入到项目工程的根目录,使用 mvn clean test -Dtestng.xml 命令,结果如下:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ArtifactIdWang 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
.
.
.
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
now start test
Test started runningtemplistener1at:1487125608088
i'm listenerTest1
Result success
Test started runningtemplistener2at:1487125608660
i'm listenerTest2
Result success
now finish test
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.125 sec - in TestSuite

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:13 min
[INFO] Finished at: 2017-02-15T10:26:51+08:00
[INFO] Final Memory: 22M/182M
[INFO] ------------------------------------------------------------------------

标签:xml,文件,脚本,INFO,testng,测试,include
From: https://www.cnblogs.com/yunlong-study/p/18258847

相关文章

  • 传输大文件之镭速自动清理过期文件
    电子文档的普及无疑极大地便利了我们的工作与生活,但随之而来的是如何有效管理这些日益增多的文件。企业面临着存储空间紧张、文件传输复杂、敏感信息泄露等挑战。自动化文件清理的需求日益凸显,这不仅关乎个人对高效工作环境的追求,更是企业遵循数据安全和合规性标准的必要条件。......
  • 【Addressable】Catalog文件大小优化
    在Unity中使用Addressables系统时,AddressableCatalog文件的大小可能会影响加载时间和性能。以下是一些降低AddressableCatalog文件大小的方法:1.减少冗余的地址标签确保每个Addressable资产只使用必要的标签。避免给每个资产附加过多的标签,因为标签会增加Catalog文......
  • H5移动端加载预览pdf文件——demo
    前言:正常情况下需要在HTML中嵌入本地docx或pdf文件时,我们会有以下解决办法:1.使用<iframe>标签2.使用<embed>标签3.使用<object>标签4.使用第三方库(如PDF.js)当实际操作时,会发现前三种方式在pc端支持,但在移动端不支持,因为这些标签在移动端浏览器中的支持并不统一。为了兼容移......
  • kvm镜像迁移到openstack集群,发现镜像文件有损
     因为没有停机然后复制或者是创建出来的镜像文件,有可能系统盘直接损坏了,修复一下之后,重新用它来生成虚拟机,可以正常使用了 修复命令:xfs_repair /dev/vda2 #这个不行用下面的,如果磁盘繁忙,umount一下xfs_repair-L /dev/vda2  【1】定义虚拟机,发现磁盘文件损坏了......
  • TestNG 介绍
    一、TestNG介绍1、TestNG是一个来自JUnit和NUnit的测试框架,它具拥有更多的功能,提高了执行的效率。2、TestNG 是一个开源的自动化测试框架去除了老框架的大部分限制,借助于简单的注释、分组、排序和参数化这些功能。使脚本开发人员能够编写更灵活、更强大的测试用例脚本......
  • curl命令 – 文件传输工具
    curl命令来自英文词组CommandLineURL的缩写,其功能是在Shell终端界面中基于URL规则进行文件传输工作。curl是一款综合性的传输工具,可以上传也可以下载,支持HTTP、HTTPS、FTP等30余种常见协‍议。语法格式:curl参数网址URL文件名参考示例获取指定网站的网页源码:[root@linuxcoo......
  • 电脑桌面文件夹删除不了怎么办?6种方法快速解决,建议收藏!
    桌面文件夹删不掉怎么办?有时会遇到桌面上的文件夹无法删除的问题,这是由于文件夹被系统进程或某些应用占用,或者是由于权限设置等原因造成的。以下是解决桌面文件夹无法删除问题的方法,帮助你有效地清理桌面环境。桌面文件夹删不掉,1、使用安全模式重启电脑;2、检查并修改权限设......
  • 配置文件
    一、做自动化时需要用到各种配置文件,比较常见的有ini文件,yaml文件,setting文件1、ini文件的格式 特点:A、同一个ini文件section不能重复,即上面截图中的[wechat]、[host]只能有一个B、同一个section里面的key不能重复,即webhook、env等不能重复C、ini文件的数据默认为字符串操......
  • 【usb设备端口异常】——使用ls /dev/video*查看设备号时出现报错:ls:无法访问‘/dev/v
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、ls:无法访问'/dev/video*':没有那个文件或目录1.问题描述2.原因分析3.解决方法总结前言一、ls:无法访问’/dev/video*':没有那个文件或目录使用的这款USB摄像头,厂家说是免驱......
  • 【问题】Ubuntu下使用ftp命令下载文件
    Ubuntu下使用ftp命令下载文件具体的方法示例如下:$ ftp192.168.180.3Connectedto192.168.180.3.Name(192.168.180.3:test):此处输入用户名 Password:此处输入对应的密码/*查看当前路径*/ftp> pwd257"/"iscurrentdirectory. ftp>cdtest250CWDcommands......