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. 查看Sql Server库中某张表的结构

    --快速查看表结构(比较全面的) SELECT CASE WHEN col.colorder = THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 ...

  2. TODO:rds数据库实例

    rds数据库实例怎么创建的 rds数据库实例高可用是怎么实现的 rds备份是怎么实现的 参考: https://www.cnblogs.com/jackyzzy/p/7384355.html http ...

  3. SQLserver 数据类型转换

    1:CAST  方法 CAST(任何有效的表达试  AS 要转换的数据类型 [数据类型的长度,可选]) 例:SELECT  CAST(10000 as varchar(10)) SELECT  CAS ...

  4. Wannafly Camp 2020 Day 7K 修炼

    搞了半天才发现TMD是个模拟 #include <bits/stdc++.h> using namespace std; #define int long long int x,y,p,q ...

  5. POI题解整合

    我也不知道为啥我就想把POI的题全都放到一篇blog里写完. POI 2005 SAM-Toy Cars 贪心,每次选下次出现最晚的. POI 2006 KRA-The Disks 箱子位置单调,所以 ...

  6. 154.Ajax处理csrf防御

    在普通的form表单中采用post请求提交数据,可以在form表单的method=post的form标签下面,添加一个csrf_token标签{% csrf_token %},或者是直接手动的添加一个 ...

  7. AcWing 1018. 最低通行费

    #include<iostream> using namespace std ; ,INF=1e9; int dp[N][N],w[N][N]; int n; int main() { c ...

  8. mongodb多字段去重

    单字段去重 db.student.distinct("name"); 多字段去重 db.student.aggregate([{      $group:{            ...

  9. python os 模块详解

    os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得 ...

  10. 前后端交互技术之servlet与form表单提交请求及ajax提交请求

    1.先来个简单的form表单 login.jsp,建在webcontent目录下(url写相对路径就可以了) <!DOCTYPE html><html><head> ...