方法分组测试

1. 给@Test注解后面加groups参数,如

@Test(groups = "groupa")

2. 可以添加@BeforeGroups和@AfterGroups,来设置在某组方法执行之前/之后要做的事情,如

@BeforeGroups("groupa")
 1 import org.testng.annotations.AfterGroups;
2 import org.testng.annotations.BeforeGroups;
3 import org.testng.annotations.Test;
4
5 public class GroupOnMethod {
6 @Test(groups = "groupa")
7 public void test1(){
8 System.out.println("A group--->this is test 1");
9 }
10
11 @Test(groups = "groupa")
12 public void test2(){
13 System.out.println("A group--->this is test 2");
14 }
15
16 @Test(groups = "groupb")
17 public void test3(){
18 System.out.println("b group--->this is test 2");
19 }
20
21 @Test(groups = "groupb")
22 public void test4(){
23 System.out.println("b group--->this is test 2");
24 }
25
26 @BeforeGroups("groupa")
27 public void beforeGroups1(){
28 System.out.println("Run before A group");
29 }
30
31 @AfterGroups("groupa")
32 public void afterGroups1(){
33 System.out.println("Run after A group");
34 }
35
36 }

3. 设置testng XML文件。 (直接运行上面的java文件,4个测试方法均会执行,分组功能不生效)

<include>标签中设置要执行的group名称。

<?xml version="1.0" encoding="utf-8" ?>
<suite name="test">
<test name="group">
<groups>
<run>
<include name="groupa"/>
</run>
</groups>
<classes>
<class name="com.course.testng.groups.GroupOnMethod"/>
</classes>
</test> </suite>

4. 执行XML文件。

Run before A group

A group--->this is test 1

A group--->this is test 2

Run after A group

===============================================
test
Total tests run: 2, Passes: 2, Failures: 0, Skips: 0

类分组测试

1. 给类上面加@Test(groups='xxx')注解

import org.testng.annotations.Test;

@Test(groups="c1")
public class GroupsOnClass1 { public void f1(){
System.out.println("class 1 method run ");
}
} @Test(groups="c1")
public class GroupsOnClass2 {
public void f1(){
System.out.println("class 2 method run");
}
} @Test(groups="n")
public class GroupsOnClass3 {
public void f1(){
System.out.println("class 3 method run");
}
}

2. 配置XML文件

<?xml version="1.0" encoding="UTF-8" ?>

<suite name="suitename">
<test name="rungroups">
<classes>
<class name="com.course.testng.groups.GroupsOnClass1"/>
<class name="com.course.testng.groups.GroupsOnClass3"/>
<class name="com.course.testng.groups.GroupsOnClass2"/>
</classes>
<groups>
<run>
<include name="c1"/>
</run>
</groups>
</test>
</suite>

3.执行XML文件(只有跟include标签中name相同的groups类下的方法被执行)

class 1 method run 

class 2 method run

===============================================
suitename
Total tests run: 2, Passes: 2, Failures: 0, Skips: 0

TestNG 组测试的更多相关文章

  1. testng入门教程7 TestNG组测试

    在TestNG中组测试是一个新的创新功能,它不存在于JUnit框架,它允许调度到适当的部分方法和瓶坯复杂的测试方法分组.您不仅可以声明属于群体的那些方法,但你也可以指定一组包含其他组.然后,TestN ...

  2. testNG之组测试

    @Test(groups = {""}) 在执行测试用例的时候,往往一个功能依赖多个测试用例,比如流程的测试,那么这个时候就可以用到组测试,把流程涉及到测试用例都分到同一组里,按组 ...

  3. testng入门教程9 TestNG依赖测试

    有时候,你可能需要在一个特定的顺序调用方法在测试案例,或你想分享一些数据和方法之间的状态.TestNG支持这种依赖测试方法之间的显式依赖它支持声明. TestNG允许指定依赖,无论与否: 使用属性de ...

  4. testng入门教程2用TestNG编写测试及执行测试

    编写TestNG测试基本上包括以下步骤: 测试和编写业务逻辑,在代码中插入TestNG的注解.. 添加一个testng.xml文件或build.xml中在测试信息(例如类名,您想要运行的组,等..) ...

  5. 《手把手教你》系列基础篇(七十七)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 上篇(详解教程)

    1.简介 今天主要是讲解和分享:TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用dependsOnMethods,testNG会自动根据@Test方法名称 ...

  6. 《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)

    1.简介 上一篇讲解了依赖测试的各种方法,今天继续讲解依赖测试的方法,这一篇主要是讲解和分享通过xml文件配置组名依赖方法( 主要是测试组的用法).废话不说,直接上干货. 2.实例 测试组:一个组可包 ...

  7. TestNG之测试执行后没有生成默认测试报告(IDEA)

    使用IDEA+TestNG进行测试,没有生成 测试报告,是因为没有勾选监听器使用默认报告,具体操作如下: “Run” -> "Edit Configurations" -&g ...

  8. TestNG 搭建测试框架 自动化测试

    框架层级及基本组件:    参考:https://www.cnblogs.com/jier888/p/8998724.html Java作为开发语言 Maven管理项目及Jar包 Testng作为测试 ...

  9. testng入门教程10 TestNG参数化测试

    在TestNG的另一个有趣的功能是参数测试.在大多数情况下,你会遇到这样一个场景,业务逻辑需要一个巨大的不同数量的测试.参数测试,允许开发人员运行同样的测试,一遍又一遍使用不同的值. TestNG让你 ...

随机推荐

  1. Asp.NetCore Web开发之跨域问题

    在前后端分离的web开发中,解决跨域问题是不可避免的,为什么会出现跨域问题呢,这主要是因为web中的"同源策略",浏览器出于安全原因,不让用户随便访问不同于当前站点的资源,也就是说 ...

  2. 如何解决 shell 脚本重复执行的问题

    在开发过程中,经常会使用shell脚本去完成定时备份的任务,普遍的做法是通过系统的定时任务定时执行备份脚本 设想这样一种场景,本次备份时间到了,自动执行备份脚本,如果备份比较耗时的话,会一直持续到下一 ...

  3. C++ primer plus读书笔记——第9章 内存模型和名称空间

    第9章 内存模型和名称空间 1. 头文件常包含的内容: 函数原型. 使用#define或const定义的符号常量. 结构声明. 类声明. 模板声明. 内联函数. 2. 如果文件名被包含在尖括号中,则C ...

  4. 消息队列RabbitMQ(二):RabbitMQ的系统架构概述

    前言 RabbitMQ是基于AMQP协议的,要想深入理解RabbitMQ,就必须先了解AMQP是个什么东东? AMQP协议 AMQP即Advanced Message Queuing Protocol ...

  5. Java集合详解(一):全面理解Java集合

    概述 Java所有集合类都在java.util包下,支持并发的集合在java.util.concurrent(juc)包下. 集合与数组区别: 数组大小是固定的,集合大小可以根据使用情况进行动态扩容. ...

  6. 关于文字内容过长,导致文本内容超出html 标签宽度的解决方法之自动换行

    在标签的style 属性中设置 word-break style="word-break:break-all;" 这样就可以实现换行 上截图没设置之前 设置之后 完美解决!!!!! ...

  7. ssh无法启动 (code=exited, status=255)

    ssh无法启动 (code=exited, status=255) 2019年1月30日ssh 服务器运行了一些脚本后,突然发现无法ssh了. root@X61T:/home/liang# servi ...

  8. bond4以及vlan子接口配置

    场景: 前提,交换机的配置由网络工程师配合! 1.跨交换机做bond,模式为LACP,linux双网卡做bond4,模式为4: 2.系统为centos7.0-123: 3.服务器仅有两张万兆网卡,为e ...

  9. MQTT简介-(转自cacard)

    MQTT - MQ Telemetry Transport   轻量级的 machine-to-machine 通信协议. publish/subscribe模式. 基于TCP/IP. 支持QoS. ...

  10. 图解CSS布局(一)- Grid布局

    图解CSS布局(一)- Grid布局 先上图 简介 Grid 布局是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可 ...