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. 题解【AcWing883】高斯消元解线性方程组

    题面 高斯消元模板题. 这里直接讲述一下高斯消元的算法流程: 枚举每一列 \(c\): 找到第 \(c\) 列绝对值最大的一行: 将这一行换到最上面: 将该行的第一个数变成 \(1\): 将下面所有行 ...

  2. centos8 apache+mysql+php

    apache安装 dnf install httpd httpd-tools 开机启动 systemctl enable httpd 立即启动 systemctl start httpd 查看状态 s ...

  3. java 类型判断

    //java 类型匹配测试 Circle circle = new Circle(); // circle rectangle 实现了 shape System.out.println(circle ...

  4. Python爬虫连载8-JS加密(一)

    一.JS加密 1.有的反爬虫策略采用js对需要传输的数据进行加密处理. 2.经过加密,传输的就是密文 3.加密函数或者过程一定是在浏览器完成,也就是一定会把代码(js代码)暴露给使用者 4.通多阅读加 ...

  5. JDBC——Connection数据库连接对象

    功能 1.获取执行SQL的对象 方法:createStatement() 用于创建向数据库发送SQL语句的一个对象.修饰/返回值类型:Statement(声明) 方法:prepareStatement ...

  6. jdk8-》joining、groupingBy、summarizingInt函数

    拼接函数 Collectors.joining // 3种重载方法 Collectors.joining() Collectors.joining("拼接符") Collector ...

  7. 2018-2019 ACM-ICPC, Asia East Continent Final L Eventual … Journey

    #include<iostream> using namespace std; ; int cnt[MAX]; int ans[MAX]; int a[MAX]; int main() { ...

  8. 题解【洛谷P1886】滑动窗口 /【模板】单调队列

    题面 单调队列模板题. 单调队列可以从队首和队尾出队. 队列中的元素大小具有一定的顺序. 具体可参考这一篇题解 #include <bits/stdc++.h> #define itn i ...

  9. Allegro 反射仿真--仿真设置

    一.打开BRD文件 打开PCB SI,启动Cadence Product Choices界面,如图1-1所示,一般我们选择Allegro PCB SI 630(SPECCTRAQuest),具体如下图 ...

  10. MySql 中关键字 case when then else end 的用法

    解释: SELECT case -------------如果 ' then '男' -------------sex='1',则返回值'男' ' then '女' -------------sex= ...