• 0
  • 2
分享

写在testng.xml的前面

    TestNG运行的核心就是配置文件testng.xml,只要是使用TestNG框架的测试,最终都是通过testng.xml发起的测试。所以说testng.xml是TestNG的核心。

    testng.xml的定义实际非常复杂,平时使用的仅仅是九牛一毛的功能而已。本篇是官网相关章节的翻译,部分内容增加了作者的理解,并给出一些实际的示例说明。


testng.xml 

    TestNG可以通过如下方式运行:

     (1)通过testng.xml

     (2)通过ant

     (3)通过命令行


    本章节描述testng.xml的格式。

    testng.xml遵循的DTD约束为testng-1.0.dtd。(DTD约束是指对使用的XML进行的格式限定,感兴趣的同学可以自行学习一下)。下载链接为:https://testng.org/testng-1.0.dtd。查看HTML版本更方便(不需要下载):http://testng.org/testng-1.0.dtd.php


    如下是一个testng.xml的示例:    

   

对应的,我们可以给出测试的代码和运行结果如下。

    

    我们可以通过指定包名的方式进行测试,而不需要指定明确的类名。

    

    在上述示例中,TestNG会在test.sample包下面寻找带有TestNG注解的类进行处理。上述同样的代码运行结果如下。

   

    我们还可以通过关键字设定的方式指定执行或排除的组或方法。

    

    不仅可以使用在代码中定义好的groups,我们还可以在testng.xml中定义新的组,并且配置一些额外的细节,如是否并行执行测试,如果并行使用多少线程,是否用JUnit执行测试等等。这部分会在后续的测试组章节详细说明。

    在默认情况,TestNG会根据XML文件中的配置顺序执行测试。当我们配置preserve-order属性为false时,TestNG会以一种不可预见的顺序运行testng.xml中配置的测试类,测试方法。

    

    DTD文档中给出了全部的信息,后续的文章也会继续介绍testng.xml的特性。

    敬请期待下一章节:运行方式的彩蛋。

    原文来自https://testng.org,有表述错误的地方欢迎评论指正。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、打开Jmeter:下载好Jmeter后,双击bin目录下的jmeter.bat文件:2、添加“HTTP信息头管理器”:3、添加”用户定义的变量”组件:这里设置公共变量,适用共有请求参数的变量,比如IP地址、用户id等4、添加“Http请求默认值”组件:当被测系统有唯一的访问域名和端口时,填写被测系统的域名和端口,http请求的实现包版本以及具体协议类型,线程组里的所有“HTTPSampler”可默认使用此设置。5、添加”JDBCConnectionConfiguration”组件:这边是oracle数据库的连接配置,需要添加jdbc驱动jar包ojdbc14.jar,放在jmeter/li...
            12 11 2078
            分享
          • Cydia Substrate是一个基于Hook的代码修改框架,其可以在Android、iOS平台使用,并实现修改系统默认代码。这里学习了下Cydia Substrate  hook框架在安卓平台的使用。  一、原理介绍  当然Xposed也能实现了对应的功能,但两者实现的技术手段有些不一样,由于Xposed开源,也有不少相关文章分析了实现方式,其主要原理是替换了/system/bin/app_process这个程序,在机子启动时加载自身的XposedBridge.jar完成对虚拟机的劫持。而Cydiasubstratet并不开源但根据比对两者"installer"...
            0 0 3010
            分享
          •   随着移动互联网时代的发展,自动化测试越来越成为企业刚需,软件测试的门槛已经不再低了。所以想要在这行业走得更远,走得更高并不容易,接下来按照粉丝的需求,给大家补充一些自动化测试方向的资源,如果你有补充可以在后面留言。  一、要学习一门语言  随着移动互联网发展,IT技术公司对IT人员的要求也越来越高,作为测试人员必须要学会一门语言(java或python或者GO),并通过该语言能够在工作当中开发一些脚本或工具,帮助我们提高工作的效率。  二、要学习自动化测试框架  在学会一门语言之后,进行深入的学习对应语言的自动化测试框架,比如web的自动化框架selenium、app的自动化框架appiu...
            0 0 929
            分享
          •   探索自动化集成测试以实现无缝软件开发的有效技术和技巧。立即升级您的策略!  当软件组件的单元测试完美运行时会发生什么?您是否曾想过,为什么单元测试 100% 通过的报告对于作为一个单元进行集成和验证时的组件没有好处?发生自发故障的集成测试并不反映故障点位于单元内部,而是反映单元交互的地方。  测试团队非常重视如何有效地依靠自动化、集成测试来确保在当今要求苛刻的世界中生成的软件的质量,在这个世界中,以结果为中心的方法寻求工作软件的持续交付。  什么是集成测试?  集成测试包括围绕接口进行测试,以检查多个软件模块之间的数据流,而不干扰模块的功能。  为了构建系统的“工作”版本,由各个开发人员成...
            0 0 284
            分享
          • 一、Jmeter简介1、Jmeter简介Apach JMeter是Apache组织的开发源代码项目,是一个纯Java桌面应用,用于压力测试和性能测试。它最初被设计用于Web应用测试但后来扩展到其他测试领域。2、Jmeter功能能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC);完全的可移植性和100%纯Java;完全Swing(Java设计的GUI工具包)和轻量组件支持;完全多线程,框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样;精心的GUi设计允许快速操作和更精确的计时;缓存和离线分析/回放测试结果。3、Jmeter接口测试J...
            14 14 1081
            分享
      • 51testing软件测试圈微信