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. 解决Maven依赖报红的批处理文件

    maven经常因为网络或者其他原因导致仓库jar包下载不完整,导致jar包依赖报红,此小工具可以一键删除未下载完成文件 set REPOSITORY_PATH=E:\deplor\apache-mav ...

  2. MyEclipse启动Tomcat报错:Could not find the main class: org.apache.catalina.startup

    问题描述 Could not find the main class:org.apache.catalina.startup.Bootstrap. Program will exit 问题原因 主要原 ...

  3. SpringBoot多数据源:动态数据源

    目录 1. 引言 2. 动态数据源流程说明 3. 实现动态数据源 3.1 说明及数据源配置 3.1.1 包结构说明 3.1.2 数据库连接信息配置 3.1.3 数据源配置 3.2 动态数据源设置 3. ...

  4. SpringBoot学习- 1、SpringSuit创建项目

    SpringBoot学习足迹 前言:最近一次开发java后台应用还是三年前的2017年,主要使用SSH开发小型外包项目和公司的一个产品,感觉再不回顾下可能就要彻底忘记了,准备做一个后台管理项目练练手, ...

  5. Copy Paste DWG to older 3ds Max

    Hi, This is quick tutorial: how to install Auto Cad scripts to be able to copy from newer Auto Cad t ...

  6. Map merge

    将新的值赋值给map(如果不存在)或更新具有给定key的现有值. Map<Integer, Integer> map = new HashMap<>(); for (Integ ...

  7. Python入门7 —— 赋值运算符补充

    增量赋值 x = 10 x += 1 #就是:x = x+1 交叉赋值 a = 10 b = 20 print(a,b) temp=b # temp=20 b=a # b = 10 a=temp # ...

  8. String Buffer和String Builder(String类深入理解)

      String在Java里面JDK1.8后它属于一个特殊的类,在创建一个String基本对象的时候,String会向“ 字符串常量池(String constant pool)” 进行检索是否有该数 ...

  9. Roles in graphs

    related website: Beyond Community Detection - RolX; ReFeX and RolX ; What are roles? “Functions” of ...

  10. windows10中docker nginx开启 但页面访问不了

    Windows下对docker端口进行映射,但是当你在主机的浏览器中,打开localhost:port无法访问对应的服务. docker是运行在Linux上的,在Windows中运行docker,实际 ...