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. 机器学习作业(二)逻辑回归——Matlab实现

    题目太长啦!文档下载[传送门] 第1题 简述:实现逻辑回归. 第1步:加载数据文件: data = load('ex2data1.txt'); X = data(:, [1, 2]); y = dat ...

  2. django实现简易登录注册

    经过一些文档的理解,以及一些时间的琢磨.我觉得可以用django做一些小项目了 先说说登录功能吧. 先创建一个app,用admin命令 在cmd打开到manage.py同级目录下,django-adm ...

  3. 在电脑上用chrome浏览器调试android手机里的网页代码时,无法看到本地加载的js文件

    在需要调试的js文件最顶部加上代码就可以看到了: console.log('haha'); debugger;

  4. 数据库之六:聚合函数、group by、having、order by

    1.聚合函数: 1.1.COUNT: 计算表中的记录数(行数)可以计算出所有数据行: select count(*) from table_name 可以计算出所有非空行数 select count( ...

  5. promise的连缀写法

    promise的连缀写法 以上写法相当于写了两个实例 promise.all() 1. promise.all() all这个方法是 promise 构造函数的成员不是实例对象成员,这个方法接受一个参 ...

  6. vscode中LaTeX的编写

    前言 在学习\(\mathrm{\LaTeX}\)的时候尝试过很多编辑器,但都被其复古的外观或者复杂的配置劝退.并且因为本身就在使用VScode写其他的一些语言,正好借此机会也学习一下怎么用VScod ...

  7. vba工程密码清除

    EXCEL vba工程密码破解 方法一:这种方法实际是避开VBA工程密码验证,即骗vba编辑器,该密码输入成功,请求放行.不管他是破解还是欺骗 能达到我们的目的角开就行________________ ...

  8. Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) C Messy

    //因为可以反转n次 所以可以得到任何可以构成的序列 #include<iostream> #include<string> #include<vector> us ...

  9. js json -> <-object

    1.利用原生JSON对象,将对象转为字符串 var jsObj = {}; jsObj.testArray = [1,2,3,4,5]; jsObj.name = 'CSS3'; jsObj.date ...

  10. django 完成登录功能

    啃了几天文档,感觉能理解了这个框架,但是真的下手的时候真的不知道从何开始. orm即Object-Relationl Mapping,看这名字就是操作数据库的,用过ssm,不过django操作数据库是 ...