前言

该篇文章将详细讲述xml执行方式。

testng.xml详解

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!--suite有以下属性:
name:suite名称,测试报告中展现
verbose: 在控制台中如何输出,该设置不影响测试报告
allow-return-values:如果设置为false,被@Test注解且有return的方法被忽略执行
annotations:如果为"javadoc", 则使用javadoc注解,否则使用jdk注解
configfailurepolicy:字典:continue,skip,如果@Before*方法失败,TestNG是否应该继续执行套件中的其余测试,默认为skip
data-provider-thread-count:并发执行data-provider的线程数,默认大小为10
group-by-instances:默认情况下,依赖方法按类分组。例如,如果方法b()依赖于方法a(),并且您有几个包含这些方法的类实例(因为数据提供者的工厂),
那么调用顺序将为:signIn("us"),signIn("uk"),signOut("us"),,signOut("uk")。group-by-instances设置为true的话,调用顺序将为:signIn("us"),signOut("us"),signIn("uk"),signOut("uk")
guice-stage:创建父注入器的stage
junit:是否以junit模式运行
object-factory:用于实现IObjectFactory的类,实例化测试对象
parallel:是否多线程并发运行测试,默认为false,字典:classes,methods,instances,tests,true,false
parent-module:用于创建所有guice注入器的父注入器的模块
preserve-order:默认情况下,TestNG将按照在XML文件配置的顺序运行测试。如果希望以不可预知的顺序运行文件中列出的类和方法,可将preserve-order属性设置为false
skipfailedinvocationcounts:是否跳过失败的调用
thread-count:使用并行模式,要使用的线程池的大小。
time-out:为具体执行单元设定一个超时时间,方法(parallel="methods")或测试(parallel="tests")
-->
<suite name="Suite" verbose="1"><!--一个suite可以包含多个test,test有以下属性:name:这个测试的名称(将出现在报告中)annotations:同suite套件属性allow-return-values:同suite套件属性verbose:同suite套件属性enabled:启用/禁用当前测试的标志。默认值:truegroup-by-instances:同suite套件属性junit:同suite套件属性parallel:同suite套件属性preserve-order:同suite套件属性skipfailedinvocationcounts:同suite套件属性thread-count:同suite套件属性time-out:同suite套件属性--><test name="test"><!--指定执行包--><packages><!--包名称--><package name="com"></package></packages></test><!--testng.xml中只能设置一个<suite>标签,可通过<suite-files >标签实现多个测试集设置。--><suite-files><suite-file path="testNG.xml"/><suite-file path="testNG.xml"/></suite-files><!--设置监听器,后续文章详解--><listeners><listener class-name="TestNGHelloWorld1"/></listeners><!--方法拦截器,后续文章详解--><method-selectors><method-selector><selector-class name="TestNGHelloWorld1"/></method-selector></method-selectors><!--方法拦截器,后续文章详解--><method-selectors><method-selector><script language="java"/></method-selector></method-selectors><test name="TestNG1"><groups><!--组中组,即test4包含了test1和test3两个组--><define name="test4"><include name="test1"/><include name="test3"/></define><!--运行test4组,不运行test2组--><run><include name="test4"/><exclude name="test2"/></run><!--test3组依赖于test1,test2组,多个依赖用空格隔开--><dependencies><group name="test3" depends-on="test1 test2"/></dependencies></groups><!--类--><classes><class name="TestNGHelloWorld1"/></classes></test> <!-- TestNG --><test name="TestNG2"><!--入参,分别为参数名和参数值--><parameter name="str" value="Test1"/><classes><class name="TestNGHelloWorld1"><!--类中的方法--><methods><!--执行该方法--><include name="helloWorldTest1"/><!--不执行该方法--><exclude name="helloWorldTest2"/></methods></class></classes></test>
</suite>

YAML

testNG支持YAML作为指定套件文件的另一种方法。例如,以下XML文件:

<suite name="SingleSuite" verbose="2" thread-count="4"><parameter name="n" value="42" /><test name="Regression2"><groups><run><exclude name="broken" /></run></groups><classes><class name="test.listeners.ResultEndMillisTest" /></classes></test>
</suite>

对应的YAML版本如下:

name: SingleSuite
threadCount: 4
parameters: { n: 42 }tests:- name: Regression2parameters: { count: 10 }excludedGroups: [ broken ]classes:- test.listeners.ResultEndMillisTest

参考资料
链接:https://www.jianshu.com/p/9b267240aae5

TestNG测试框架之TestNG.xml/YAML相关推荐

  1. maven TestNg 测试框架 not found

    在用TestNG测试框架进行单元测试时,在我的pom.xml中写的依赖: <dependency><groupId>org.testng</groupId>< ...

  2. (一)TestNG测试框架(含Demo源码)

    目录 一.TestNG是什么 二.关于TestNG使用 三.关于TestNG流程控制 四.结合场景讲解TestNG注解 五.TestNG框架(Demo源码) 六.补充知识点 一.TestNG是什么 T ...

  3. TestNG测试框架介绍整理

    TestNG学习 什么是TestNG 添加pom maven依赖 Idea创建module 注解之@BeforeMethod和@AfterMethod 注解之@BeforeClass和@AfterCl ...

  4. (一)TestNG测试框架之HelloWorld入门

    前言 该篇文章主要覆盖环境配置.testNG入门.执行测试三块内容. 工具 IntelliJ IDEA TestNG 6.11 Maven pom.xml配置 新建一个maven项目,pom.xml引 ...

  5. TestNG测试框架之失败测试重跑

    前言 在案例执行过程中,往往需要对失败的案例进行重跑,TestNG亦提供相应的实现方案. 示例 当套件中的测试执行失败时,TestNG都会创建一个名为testng-failed.xml的文件,该XML ...

  6. testng执行参数_初识TestNG测试框架

    testkuaibao|软件测试自学公众号 公众号文章的推送机制改变.又由于我们公众号是不定时更新的,所以会导致很多小伙伴不能及时的收到我们的文章.大家可以把我们的公众号设置为星标,或者看完文章点个在 ...

  7. (二)TestNG测试框架之注解及属性概览

    前言 TestNG提供了诸多注解,允许开发/测试人员灵活地组织强大的测试用例. 注解概览 注解/属性 描述 @BeforeSuite @AfterSuite @BeforeTest @AfterTes ...

  8. TestNG测试框架之测试用例的执行顺序分析

    既然是讨论执行顺序问题,那么用例肯定是批量执行的,批量执行的方法有mvn test.直接运行testng.xml文件,其中直接运行testng.xml文件的效果与pom文件中配置执行testng.xm ...

  9. java testng 优化_java+testNG测试框架搭建----jenkins自动化执行

    新建项目,在pom.xml里添加要执行的测试类:suites/test.xml [本地生成的测试报告暂时屏蔽掉] src/main/java src/main/java ${project.artif ...

最新文章

  1. python SMTP发送邮件常出现问题
  2. 【新功能】MaxCompoute禁止Full Scan功能开放
  3. Spring中@Async用法总结
  4. ie9支持string.trim()
  5. Java笔记05-Collection、泛型、迭代器
  6. twisted系列教程十七–用inlineCallbacks来管理callbacks
  7. 【java】java 并发编程 CopyOnWriteArrayList
  8. mysql指令按顺序排列_MySQL 排序 | 菜鸟教程
  9. elasticsearch6 php,elasticsearch 6.x php-client
  10. Linux编程训练网站,OK6410汇编程序练习
  11. vue+element PC系统自适应
  12. 【数字图像处理】双三次插值及其卷积算法(Bicubic Interpolation)
  13. 测试点击屏幕次数的软件_闪电点击app下载-闪电自动点击 安卓版v1.3.2
  14. 华北地区博友链接集合(陆续增加中)
  15. 产业互联网将会取代消费互联网成为一个全新的风口
  16. [遗传算法]冰与火之歌
  17. Microsoft Teams Meeting你是认真的吗?
  18. 基于语音识别的QT设计的csgo互动类视频游戏
  19. PR片头模板 3D全息数字扫描大脑后展示logo开场片头PR模板
  20. linux下sqlserver端口号,登陆sqlserver及修改端口号 (转)

热门文章

  1. 神舟战神_14英寸小钢炮 神舟战神S72021S5开箱
  2. 四阶龙格库塔法的基本思想_龙格库塔积分算法
  3. 皮一皮:据说有个新娘打扮成了奥特曼...
  4. 皮一皮:现在想上个节目一定要注明这些...
  5. 一行代码,搞定浏览器数据库 IndexedDB
  6. 10分钟搞定让你困惑的 Jenkins 环境变量
  7. 速领:1024大礼包
  8. 每日一皮:客户被绑,蒙眼,惊问 “想干什么?”
  9. Netflix 的上线工具 Spinnaker
  10. 通过mtd读写flash_Ambiq继续引领低功耗单片机,新款Apollo4将2MB MRAM作为Flash