TestNG-分组groups

2024-04-22 12:32
文章标签 分组 testng groups

本文主要是介绍TestNG-分组groups,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一个例子:

java代码:

package com.kdzwy.practice;
import org.testng.annotations.Test;
/*
 *包名:com.kdzwy.practice
 *作者:Adien_cui
 *时间:2017-3-28  下午5:41:26
 *描述:testng分组
 **/
package com.kdzwy.practice;
import org.testng.annotations.Test;
/*
 *包名:com.kdzwy.practice
 *作者:Adien_cui
 *时间:2017-3-28  下午5:41:26
 *描述:testng分组
 **/
public class TestngGroups {
      @Test(groups = { "group1", "group2" })
      public void testMethod1() {
          System.out.println("testMethod1");
      }

      @Test(groups = {"group1", "group2"} )
      public void testMethod2() {
          System.out.println("testMethod2");
      }

      @Test(groups = { "group1" })
      public void testMethod3() {
          System.out.println("testMethod3");
      }
}


testng.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
    <test name="login">

  <groups>
            <run>
                <inlude name="group2" />
            </run>
        </groups>
        <classes>
            <class name="com.kdzwy.practice.TestngGroups" />         
        </classes>
    </test>
</suite>


运行结果: 


可以看到在testng.xml的run里只配置了group2,所以只运行了testMethod1和testMethod2。

排除组

testng.xml配置如下

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
    <test name="login">
        <groups>
            <run>
                <include name="group1" />
                <exclude name="group2" />
            </run>
        </groups>
        <classes>
            <class name="com.kdzwy.practice.TestngGroups" />         
        </classes>
    </test>
</suite>


运行结果: 

排除组

testng.xml配置如下

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
    <test name="login">
        <groups>
            <run>
                <include name="group1" />
                <exclude name="group2" />
            </run>
        </groups>
        <classes>
            <class name="com.kdzwy.practice.TestngGroups" />         
        </classes>
    </test>
</suite>

运行结果: 

部分组

可以在类级别定义组,然后在方法级添加组:

 package com.kdzwy.practice;
import org.testng.annotations.Test;
/*
 *包名:com.kdzwy.practice
 *作者:Adien_cui
 *时间:2017-3-28  下午7:56:04
 *描述:部分组
 **/  
@Test(groups = { "class-group" })
public class TestngGroups2 {

      @Test(groups = { "method-group"})
      public void method1() {
          System.out.println("Method1");
      }

      public void method2() { 
          System.out.println("Method2");
      }
}



在这个类中,method2()是组“class-group”的一部分,它在类级别定义,而method1()属于“class-group”和“method-group”两者。
1
testng.xml:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
    <test name="login">
        <groups>
            <run>
                <include name="method-group" />
            </run>
        </groups>

        <classes>

   <class name="com.kdzwy.practice.TestngGroups2" />         </classes></test>
</suite>

运行结果: 
这里写图片描述

testng.xml:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
    <test name="login">
        <groups>
            <run>
                <include name="class-group" />
            </run>
        </groups>

        <classes>
            <class name="com.kdzwy.practice.TestngGroups2" />         
        </classes>
    </test>
</suite>

运行结果: 

@BeforeGroups , @AfterGroups 注解使用

@BeforeGroups注解的方法将在本组内任何测试方法执行前被执行一次,可用于执行初始化操作。类似的@AfterGroups 注解的方法将在本组内任何测试方法执行后被执行,可用于关闭资源。 
java示例:

package com.kdzwy.practice;

import org.testng.annotations.AfterGroups;
import org.testng.annotations.BeforeGroups;
import org.testng.annotations.Test;

/*
 *包名:com.kdzwy.practice
 *作者:Adien_cui
 *时间:2017-3-28  下午8:12:33
 *描述:
 **/
public class TestngGroups3 {
      @BeforeGroups(groups={"group-b"})
      public void setUp(){
          System.out.println("Method---setup");
      }

      @AfterGroups(groups={"group-b"})
      public void tearDown(){
          System.out.println("Method---tearDown");
      }

      @Test(groups = { "group-a" })
      public void aaaMethod() {
          System.out.println("Method---aaa");
      }

      @Test(groups = { "group-b"} )
      public void bbbMethod() {
          System.out.println("Method---bbb");
      }

 @Test(groups = { "group-a","group-b" })
      public void cccMethod() {
          System.out.println("Method---ccc");
      }
}


testng.xml:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
    <test name="login">
        <groups>
            <run>
                <include name="group-b" />
            </run>
        </groups>

        <classes>
            <class name="com.kdzwy.practice.TestngGroups3" />         
        </classes>
    </test>
</suite>


运行结果: 


因为bbbMethod和cccMethod在组group-b里,所以可以看到setUp在bbbMethod之前运行了,而tearDown在cccMethod之后运行了
--------------------- 
 




作者:灵枢_ 
来源:CSDN 
原文:https://blog.csdn.net/galen2016/article/details/67644426 
版权声明:本文为博主原创文章,转载请附上博文链接!

这篇关于TestNG-分组groups的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/925781

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

Solr 使用Facet分组过程中与分词的矛盾解决办法

对于一般查询而言  ,  分词和存储都是必要的  .  比如  CPU  类型  ”Intel  酷睿  2  双核  P7570”,  拆分成  ”Intel”,”  酷睿  ”,”P7570”  这样一些关键字并分别索引  ,  可能提供更好的搜索体验  .  但是如果将  CPU  作为 Facet  字段  ,  最好不进行分词  .  这样就造成了矛盾  ,  解决方法

Java8特性:分组、提取字段、去重、过滤、差集、交集

总结下自己使用过的特性 将对象集合根据某个字段分组 //根据id分组Map<String, List<Bean>> newMap = successCf.stream().collect(Collectors.groupingBy(b -> b.getId().trim())); 获取对象集合里面的某个字段的集合 List<Bean> list = new ArrayList<>

HDU 1712 ACboy needs your help (分组背包)

OJ题目:click here~~ 题意分析:分组背包入门题。N个课程,最多可使用M天的时间。给出i课程用j天所获得的profit 。 求最多使用M天的最大profit。对课程i ,1--M天的profit 只能选一个,或者不选。也就是说有的课程不上也没有关系。明显的分组背包。 AC_CODE int x[101][101];int main(){int n , m;while(c

Hive SQL 分组与连接操作详解

目录 分组 Group By语句 1. 案例实操  Having语句 1. having 与 where 不同点 2. 案例实操  Join语句  等值Join 1. 案例实操  表的别名 1. 好处 2. 案例实操  内连接  左外连接  右外连接  满外连接  多表连接 1. 创建位置表 2. 导入数据 3. 多表连接查询  笛卡尔集 1. 笛卡尔集

TestNG 入门教程

阅读目录 TestNG介绍在Eclipse中在线安装TestNG在Eclipse中离线安装TestngTestNG最简单的测试TestNG的基本注解TestNG中如何执行测试使用testtng.xml 文件执行 case TestNG按顺序执行CaseTestNG异常测试TestNG组测试TestNG参数化测试TestNG忽略测试TestNG 依赖测试TestNG测试结果报告   Test

Spark Sql 二次分组排序取TopK

基本需求 用spark sql求出每个院系每个班每个专业前3名 样本数据 数据格式:id,studentId,language,math,english,classId,departmentId,即id,学号,语文,数学,外语,班级,院系 1,111,68,69,90,1班,经济系2,112,73,80,96,1班,经济系3,113,90,74,75,1班,经济系4,

MYSQL 分组合并函数

MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询  mysql> select * from aa; +------+------+ | id| name | +------+------+ |1 | 10| |1 |

js实现分组

item_group:function(arr){var map = {},nList = []//遍历原始数组for (var i = 0; i < arr.length; i++) {var item = arr[i]//如果map没有则在新nList中添加if (!map[item.types]) {var face='';nList.push({types: ite

div+css 选择器分组 属性选择器 css插入方法 css背景属性

1、CSS 概述: CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题 外部样式表可以极大提高工作效率 外部样式表通常存储在 CSS 文件中 多个样式定义可层叠为一 2、选择器的分组 你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明。用