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

相关文章

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

使用C#如何创建人名或其他物体随机分组

《使用C#如何创建人名或其他物体随机分组》文章描述了一个随机分配人员到多个团队的代码示例,包括将人员列表随机化并根据组数分配到不同组,最后按组号排序显示结果... 目录C#创建人名或其他物体随机分组此示例使用以下代码将人员分配到组代码首先将lstPeople ListBox总结C#创建人名或其他物体随机分组

【前端学习】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 |