TestNG 组测试
方法分组测试
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 组测试的更多相关文章
- testng入门教程7 TestNG组测试
在TestNG中组测试是一个新的创新功能,它不存在于JUnit框架,它允许调度到适当的部分方法和瓶坯复杂的测试方法分组.您不仅可以声明属于群体的那些方法,但你也可以指定一组包含其他组.然后,TestN ...
- testNG之组测试
@Test(groups = {""}) 在执行测试用例的时候,往往一个功能依赖多个测试用例,比如流程的测试,那么这个时候就可以用到组测试,把流程涉及到测试用例都分到同一组里,按组 ...
- testng入门教程9 TestNG依赖测试
有时候,你可能需要在一个特定的顺序调用方法在测试案例,或你想分享一些数据和方法之间的状态.TestNG支持这种依赖测试方法之间的显式依赖它支持声明. TestNG允许指定依赖,无论与否: 使用属性de ...
- testng入门教程2用TestNG编写测试及执行测试
编写TestNG测试基本上包括以下步骤: 测试和编写业务逻辑,在代码中插入TestNG的注解.. 添加一个testng.xml文件或build.xml中在测试信息(例如类名,您想要运行的组,等..) ...
- 《手把手教你》系列基础篇(七十七)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 上篇(详解教程)
1.简介 今天主要是讲解和分享:TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用dependsOnMethods,testNG会自动根据@Test方法名称 ...
- 《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
1.简介 上一篇讲解了依赖测试的各种方法,今天继续讲解依赖测试的方法,这一篇主要是讲解和分享通过xml文件配置组名依赖方法( 主要是测试组的用法).废话不说,直接上干货. 2.实例 测试组:一个组可包 ...
- TestNG之测试执行后没有生成默认测试报告(IDEA)
使用IDEA+TestNG进行测试,没有生成 测试报告,是因为没有勾选监听器使用默认报告,具体操作如下: “Run” -> "Edit Configurations" -&g ...
- TestNG 搭建测试框架 自动化测试
框架层级及基本组件: 参考:https://www.cnblogs.com/jier888/p/8998724.html Java作为开发语言 Maven管理项目及Jar包 Testng作为测试 ...
- testng入门教程10 TestNG参数化测试
在TestNG的另一个有趣的功能是参数测试.在大多数情况下,你会遇到这样一个场景,业务逻辑需要一个巨大的不同数量的测试.参数测试,允许开发人员运行同样的测试,一遍又一遍使用不同的值. TestNG让你 ...
随机推荐
- 比物理线程都好用的C++20的协程,你会用吗?
摘要:事件驱动(event driven)是一种常见的代码模型,其通常会有一个主循环(mainloop)不断的从队列中接收事件,然后分发给相应的函数/模块处理.常见使用事件驱动模型的软件包括图形用户界 ...
- Java并发编程(二)如何保证线程同时/交替执行
第一篇文章中,我用如何保证线程顺序执行的例子作为Java并发系列的开胃菜.本篇我们依然不会有源码分析,而是用另外两个多线程的例子来引出Java.util.concurrent中的几个并发工具的用法. ...
- 密码学系列之:memory-hard函数
密码学系列之:memory-hard函数 目录 简介 为什么需要MHF Memory hard的评估方法 MHF的种类 MHF的密码学意义 memory-hard在MHF中的应用 简介 Memory ...
- Kali Linux 安装中文输入法
1.设置源 vim /etc/apt/sources.list 添加一行 deb http://mirrors.aliyun.com/kali kali-rolling main non-free c ...
- Docker——Registry搭建私有镜像仓库
前言 在 Docker 中,当我们执行 docker pull xxx 的时候,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库 ...
- CPU 使用率 100% 怎么办
CPU 使用率 100% 怎么办 独家号 码上实战 作者 flyhero原文链接 工作中遇到CPU使用率100%,不要慌,一起来找出原因并fix掉它. 记住这里大致流程,当线上突然遇到时,也不必手足无 ...
- 说明位图,矢量图,像素,分辨率,PPI,DPI?
说明位图,矢量图,像素,分辨率,PPI,DPI? 显示全部 关注者 28 被浏览 7,031 关注问题写回答 邀请回答 添加评论 分享 2 个回答 默认排序 刘凯 21 人赞同了 ...
- Kubernetes 部署微服务电商平台(16)
一.概念 微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事.这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整 ...
- stm32中关于NVIC_SetVectorTable函数使用的疑惑与理解
[转载]2017年12月4日14:48:29 先描述下这几天碰到的一个奇怪的问题: 一个基于stm32的工程中使用到了IAP编程,其中boot空间预留长度为0x6100,实际boot的bin文件大小为 ...
- Java中生成唯一标识符的方法
有时候业务需要生成唯一标识符,但又不能依赖于数据库中自动递增的字段产生唯一ID,比如多表同一字段需要统一一个唯一ID,此时我们就需要用程序来生成一个唯一的全局ID. UUID UUID是指在一台机器上 ...