1. 概述

  1. group 相关的元素

    1. groups
    2. run
    3. 其他相关(不准备提了)
      1. package
      2. class
      3. include
      4. exclude

2. 背景

  1. 准备

    1. 了解了 class 及其子元素
  2. 问题

    1. 对 测试范围 做进一步灵活的划分

3. 环境

  1. ide

    1. idea

      1. 2018.2
  2. 配置文件

    1. testng.xml
  3. 测试包结构

    1. com.test.group

      1. TestGroup

        1. testMethod01

          1. test-group
        2. testMethod02
        3. testMethod03
          1. test-group
      2. MuiltGroup
        1. testMethod01

          1. group-one
        2. testMethod02
          1. group-one
          2. group-two
        3. testMethod03
          1. group-two
  4. 约定

    1. 配置文件, 我只截取 suite 以下的部分
    2. group 相关注解
      1. 简略说下

        1. @Test(groups={"group-one", "group-two"})

4. 场景

场景1: 执行 test-group 组用例

  1. 概述

    1. 执行 test-group 组的测试用例
  2. 配置文件

    <test name="Timed Test">
    <groups>
    <run>
    <include name="test-group"/>
    </run>
    </groups>
    <!--<packages>-->
    <!--<package name="com.test.groups"/>-->
    <!--</packages>-->
    <classes>
    <class name="com.test.groups.TestGroup"/>
    </classes>
    </test>
  3. 解释

    1. groups

      1. 概述

        1. 分组的根元素
      2. 本质

        1. 分组的容器
      3. 子元素

        1. run
        2. 其他
          1. 暂时不讲, 涉及到比较复杂的分组
    2. run

      1. 概述

        1. 存放 分组过滤的规则
      2. 本质

        1. 规则容器
      3. 子元素

        1. include
        2. exclude
        3. 这俩的东西, 我就不多讲了
    3. packages/classes

      1. 概述

        1. 指定执行范围
      2. 本质

        1. 真正的执行范围
        2. groups 只是修饰的作用
        3. 如果没有 packages 或者 classes
          1. 这个肯定会报错
    4. 其他

      1. 一个 groups 下面只能有 一个run

5. 问题

问题1: 一个方法属于多个 group, 多次 include

  1. 场景

    1. 一个方法
    2. 同时属于多个 group
    3. 连续 include 两次
  2. 结果

    1. 只执行一次
  3. 其他

    1. 先 include, 后 exclude

      1. 不执行
    2. 先 exclude, 后 include
      1. 不执行

问题2: 一个方法跨 test 执行

  1. 场景

    1. 一个方法
    2. 出现在 两个 test 里
  2. 结果

    1. 执行 2 次

ps

  1. 其他能讲的东西

    1. group 还有更加复杂的方式

      1. 这个后面会说
    2. before / after
    3. 多线程
    4. 注解

Java - Test - TestNG: testng.xml 元素 group的更多相关文章

  1. Java解析和生成XML

    1.Jaxb处理java对象和xml之间转换常用的annotation有: @XmlType @XmlElement @XmlRootElement @XmlAttribute @XmlAccesso ...

  2. Java自动化测试框架-12 - TestNG之xml文件详解篇 (详细教程)

    1.简介 现在这篇,我们来学习TestNG.xml文件,前面我们已经知道,TestNG就是运行这个文件来执行测试用例的.通过本篇,你可以进一步了解到:这个文件是配置测试用例,测试套件.简单来说,利用这 ...

  3. Java - Test - TestNG: testng.xml 简介

    1. 概述 简介 testng.xml 中的格式, 元素 2. 背景 testng.xml 概述 测试套件 的配置文件 问题 一下生成了那么多内容 我有点看不懂 一上来就看不懂, 其实很正常, 慢慢说 ...

  4. testng的xml文件说明(TestNG DTD)

    testNG启发自JUnit和NUnit的一种测试框架,通过使用testNG使的测试更简单.,比如如下的一些特点: 1.通过注释来管理测试 2.多线程并发执行测试,且是安全的 3.支持数据驱动测试 4 ...

  5. java 测试框架 TestNG

    Java中print.printf.println的区别 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和prin ...

  6. Java+maven+selenium3+testng 自动化测试环境IDEA

    idea .java环境变量jdk maven安装及环境变量配置这里就不多说了,网上有很多教程 这里我们只检测一下java.maven环境是否安装成功 win+R,运行cmd命令行:mvn -v   ...

  7. Exception in thread "main" java.lang.NoSuchMethodError: org.testng.TestNG.configure(Lorg/testng/CommandLineArgs;)V

    TestNG运行时报以下错误: Exception in thread "main" java.lang.NoSuchMethodError: org.testng.TestNG. ...

  8. jenkins通过maven指定testng的xml文件,并给testng代码传参

    1.jenkins设置参数化构建,设置要传的参数名和值 2.指定testng的xml文件,在jenkins的输入以下 3.在pom.xml文件分别引用jenkins的参数,设置两个property & ...

  9. Ant中批量调用TestNG的XML文件,并调用TestNgXlst生成漂亮的html测试报告

    from:http://blog.csdn.net/bwgang/article/details/7865184 1.在Ant中设置如下: <target name="run_test ...

随机推荐

  1. centos7重启Mysql命令

    执行命令/etc/init.d/mysql restart重启Mysql服务器

  2. shell登录 脚本 expect

    作用 工作中,我们运行命令.脚本或程序时,这些命令.脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行. 利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而 ...

  3. Python中pip的使用

    1.pip安装模块 pip install 模块名称 -i 安装源 pip install requests -i https://mirrors.aliyun.com/pypi/simple/

  4. C++——继承与派生

    1.类的继承与派生  保持已有类的特性而构造新类的过程成为继承: 在已有类的基础上新增自己的特性而产生新类的过程称为派生: 被继承的已有类为基类:派生出的新类成为派生类.继承和派生其实是一回事. 继承 ...

  5. jdk8-》reduce操作

    什么是reduce操作 聚合操作,中⽂意思是 “减少” 根据⼀定的规则将Stream中的元素进⾏计算后返回⼀个唯⼀的值 常⽤⽅法⼀: Optional<T> reduce(BinaryOp ...

  6. NG-ALAIN 边学边记2

    1. 下载Git上的源码  : https://github.com/ng-alain/ng-alain.git 2.解压文件: 3.进入到目录下: 4.打开CMD 切换到 E:\NgAlain\ng ...

  7. NVMe概况

    简介 NVMe是为满足企业和客户系统需求,利用基于PCIe的固态存储,而精心设计的一个优化的,高效的,可伸缩主机控制器接口.NVMe是为非易失性内存(NVM)技术从头开始全新构建的,目的在于超越硬盘驱 ...

  8. Python之路Day01

    一.Python简介 Python的历史 Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生 In November 2014, it was ...

  9. oracle sqlplus链接和sid

    1.链接 ( 1.sqlplus /nolog 2.conn sys/sys@172.16.17.36/orcl as sysdba ) 2.sid   数据库名称 ----如:orcl 1.监听程序 ...

  10. IntelliJ IDEA 2017.3尚硅谷-----取消更新