方法分组测试

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. windows下使用dos命令手工与ntp服务器同步系统时间

    管理员模式的命令窗口 net stop w32time &w32tm /unregister &w32tm /register &net start w32time & ...

  2. FROM-4-TO-6!!!!!!!!! - OO第二单元总结

    电梯的这三次作业是对并发编程的一次管窥,感觉收获还是蛮多的.在设计上有好的地方也有不足,这里简单回顾总结一下 设计总述 电梯这个问题由于比较贴近真实生活,所以需求还是很好理解的.总的来说,我的数据处理 ...

  3. Vue3响应式系统api 之 ref reactive

    reactive 接收一个普通对象然后返回该普调对象的响应式代理.等同于2.x的  Vue.observable() Vue3中响应数据核心是 reactive , reactive 中的实现是由 P ...

  4. at在指定的时间执行命令+atq列出用户待处理作业(jobs)

    按下crtl+d取消定时任务 # at now+1hourat> echo"a">aat> <EOF>at> <EOT>job 4 ...

  5. ubuntu16.04 通过命令,修改屏幕分辨率

    ubuntu16.04 通过命令,修改屏幕分辨率 l185979505 2016-10-19 08:15:54 20293 收藏 5展开第一次写博客,,,好激动,,首先通过命令: xrandr 查看可 ...

  6. nginx rewite重定向详解及实例解析

    静态和动态最大的区别是是否调用数据库. 什么是rewrite 将浏览器发送到服务器的请求重写,然后再返回给用户. 就是修改url,提高用户体验 rewrite的用途 80强转443 (优化用户体验) ...

  7. keil使用VScode外部编辑器

    1.首先我们双击桌面的keil图标,打开keil主界面: 2.点击上方菜单栏的Tools菜单,选择如下图所示的选项: 3.点击如下图所示的菜单上红笔标注的地方,给这个工具命名为vscode: 4.然后 ...

  8. 优秀电路资料--- IOT方案

    完整的IOT方案 http://www.cirmall.com/circuit/4117/%E3%80%90%E5%BC%80%E6%BA%90%E3%80%91%E5%AE%8C%E6%95%B4% ...

  9. JRebel插件使用详解(IDEA热部署)(Day_44)

    JRebel插件使用详解 简介 JRebel是一套JavaEE开发工具. Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率. JRebel是一款JAVA虚拟机插件,它使得JAVA ...

  10. 记一次zabbix-server故障恢复导致的事故 zabbix-server.log -- One child process died

    前言 zabbix-server昨天出了个问题,不停的重启.昨天摆弄到晚上也不搞清楚原因,按照网上说的各种操作,各种CacheSize.TimeOut.StartPollers都改了,还有什么Incl ...