TestNG-分组groups
TestNG可以执行复杂的测试方法分组。您不仅可以声明方法属于组,而且还可以指定包含其他组的组。然后可以在testng.xml配置一组特定的组,或同时排除另一组。
第一个例子:
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中使用了exclude标签,排除了group2的运行,所以只运行了testMethod3。
群组
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1"><test name="login"><groups><define name="part"><include name="group2" /></define><define name="all"><include name="group1" /><include name="group2" /></define><run><include name="all" /></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”两者。
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之后运行了
TestNG-分组groups相关推荐
- 使用java+TestNG进行接口回归测试
TestNG是一个开源自动化测试框架,TestNG表示下一代(Next Generation的首字母). TestNG类似于JUnit(特别是JUnit 4),但它不是JUnit框架的扩展,相较于Ju ...
- 使用java+TestNG进行接口回归测试 1
[技术沙龙002期]数据中台:宜信敏捷数据中台建设实践|宜信技术沙龙 将于5月23日晚8点线上直播,点击报名 TestNG是一个开源自动化测试框架,"NG"表示下一代(Next G ...
- testNG入门详解
TestNG 的注释: @DataProvider @ExpectedExceptions @Factory @Test @Parameters <suite name="Parame ...
- Testng框架简介
文档参考自官方地址: http://testng.org/doc/documentation-main.html#testng-listeners 目录 1. 介绍 2 - Annotation 3 ...
- TestNG测试框架介绍整理
TestNG学习 什么是TestNG 添加pom maven依赖 Idea创建module 注解之@BeforeMethod和@AfterMethod 注解之@BeforeClass和@AfterCl ...
- TestNG详解-深度好文
1. 介绍 TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服务器). 编写一个测试 ...
- (一)TestNG测试框架(含Demo源码)
目录 一.TestNG是什么 二.关于TestNG使用 三.关于TestNG流程控制 四.结合场景讲解TestNG注解 五.TestNG框架(Demo源码) 六.补充知识点 一.TestNG是什么 T ...
- testng xml_TestNG XML
testng xml TestNG XML file allows us to configure a test suite and execute it from the command line ...
- TestNG的HelloWorld例子以及如何在命令行下运行
环境 操作系统:Ubuntu 20.04 IntelliJ IDEA:2022.1.2 (Community Edition) Java:17.0.1 Maven:3.8.5 TestNG:7.6.0 ...
最新文章
- 调制的缺点_电光调制与声光调制原理和应用领域
- HDU 1874 畅通工程续
- 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
- 可视化 nltk_词嵌入:具有Genism,NLTK和t-SNE可视化的Word2Vec
- 在此之前的软件系统做开发—需求的研究框架
- RHEL5.6更新yum源
- “我创业成功的十大秘诀”
- 多智能体强化学习MAPPO源代码解读
- Web Service简单demo
- 对ABAP程序调优的学习(一)select 改 read table
- 红米k50至尊版和小米12spro区别 哪个好
- 使用Python做接口测试
- RDD简介,spark-shell,spark-submit提交任务简单示例
- 喜闻乐见的「手算题」技巧3:巧用 Python
- iOS开发--适配iOS 10以及Xcode 8
- 程序员必备的商业思维:君子也要言“利”!
- VVC 算法描述 R2002(VTM 9) IBC部分 机器翻译
- C - Concatenation
- Android不同手机设置相同dp的图片显示大小不一致(记录)
- 《影响力》读书笔记,第七章 稀缺
热门文章
- 自考学历到底有没有用?
- [嵌入式开发模块]AD转换芯片ADS8344驱动模块
- Red Giant Magic Bullet Suite介绍
- MySQL 数据库基础(1)
- 图文讲解 上网本 无光驱 系统蓝屏/系统无法开机 用U盘 winpe 启动U盘 重装系统的方法(通用PE工具箱/老毛桃/大白菜WinPE)
- 收藏史上最私募基金投资模式及策略
- 某村庄供水工程设计(设计报告+cad图纸+预算工程量清单)
- php利用swfuplod、flash进行图片上传
- 本地数据迁移阿里云oss方法
- flash +asp.net +fcs实现视频聊天