方法分组测试

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. CCNA 第一章 网络互联

    1: 网络互联基础 互联网络定义:使用路由器将多个网络连接起来,并配置IP或者IPV6协议的逻辑网络编址方案,便组成了互联网络. 导致LAN(局域网)拥塞的常见原因: (1):广播域或者冲突域中的主机 ...

  2. postman Variables变量的详解与应用

    变量 变量类型(按照作用域划分) 全局变量(全局环境里面的变量) 集合变量(请求集合里声明的变量) 自定义环境变量 数据变量(在runner时文件变量) 本地变量 变量权重类型 全局变量 < 集 ...

  3. 语音降噪论文“A Hybrid Approach for Speech Enhancement Using MoG Model and Neural Network Phoneme Classifier”的研读

    最近认真的研读了这篇关于降噪的论文.它是一种利用混合模型降噪的方法,即既利用了生成模型(MoG高斯模型),也利用了判别模型(神经网络NN模型).本文根据自己的理解对原理做了梳理. 论文是基于" ...

  4. MySQL字段默认值设置详解

    前言: 在 MySQL 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值.关于默认值,有些知识还是需要了解的,本篇文章我们一起来学习下字 ...

  5. 从系统的角度分析影响程序执行性能的因素——SA20225205 黄兴宇

    实验总结分析报告:从系统的角度分析影响程序执行性能的因素 1.请您根据本课程所学内容总结梳理出一个精简的Linux系统概念模型,最大程度统摄整顿本课程及相关的知识信息,模型应该是逻辑上可以运转的.自洽 ...

  6. TypeScript 中限制对象键名的取值范围

    当我们使用 TypeScript 时,我们想利用它提供的类型系统限制代码的方方面面,对象的键值,也不例外. 譬如我们有个对象存储每个年级的人名,类型大概长这样: type Students = Rec ...

  7. Promise解析(待完成)

    Promise是一种异步操作的解决方案,将写法复杂的传统的回调函数和监听事件的异步操作,用同步代码的形式表达出来.避免了多级异步操作的回调函数嵌套. 1.主要用于异步计算 2.可以将异步操作队列化,按 ...

  8. jQ的四类基本选择器

    jQuery的四种选择器 jQ选择器与css选择器本质上相差不大,但是在使用容易混淆格式或属性 1.基础选择器 $('#id名') $('.类名') $('.类名1 .类名2') $('标签名.类名' ...

  9. 搭建LAMP环境部署GLPI资源管理系统

    搭建LAMP环境部署GLPI资源管理系统 一.关闭防火墙和Selinux [root@localhost ~]# systemctl disable --now firewalld [root@loc ...

  10. 11.14 mii-tool:管理网络接口的状态

    mii-tool命令用于查看.管理网络接口,默认情况下网卡的状态是自动协商的,但是有时也会出现不正常的情况,可以使用mii-tool进行调整. mii-tool [option] [interface ...