TestNG测试框架介绍整理
TestNG学习
- 什么是TestNG
- 添加pom maven依赖
- Idea创建module
- 注解之@BeforeMethod和@AfterMethod
- 注解之@BeforeClass和@AfterClass
- 注解之@BeforeSuite和@AfterSuite
- 忽略测试(enabled = false)
- 分组测试
- 参数化测试 -xml文件参数化
什么是TestNG
testNG是Java中的一个测试框架,类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便。可进行单元测试,功能测试,端到端测试,集成测试等相关测试。
-注解。
-在具有各种可用策略的任意大线程池中运行测试(所有方法都在各自的线程中,每个测试类一个线程,等等)。
-测试您的代码是多线程安全的。
-灵活的测试配置。
-支持数据驱动的测试(使用@DataProvider)。
-支持参数。
-强大的执行模型(不再需要TestSuite)。
-由各种工具和插件(Eclipse,IDEA,Maven等)支持。
-嵌入BeanShell以获得更高的灵活性。
-用于运行时和日志记录的默认JDK函数(无依赖项)。
-应用程序服务器测试的相关方法。
添加pom maven依赖
创建一个maven工程 在pom.xml中添加下面的依赖
<dependencies><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.14.3</version></dependency></dependencies>
Idea创建module
在java package下创建以公司域名为包名的package 并创建java class(命名testCase)
创建方法。。。
在方法上添加@Test注解,将方法标记为测试的一部分
import org.testng.annotations.*;public class BasicAnnotation {@Testpublic void testCase(){System.out.println("测试testng");}@BeforeMethodpublic void testBefore(){System.out.println("测试testBefore");}@AfterMethodpublic void testAfter(){System.out.println("测试testAfter");}@BeforeSuitepublic void testSuiteBefore(){System.out.println("测试SuiteBefore");}@AfterSuitepublic void testSuiteAfter(){System.out.println("测试SuiteAfter");}
}
如果@Test注解为红色时,说明没有import对应的包。
我们可以这样操作:
File—>settings—>Genseral---->Auto Import 将一下勾选框勾选
注解之@BeforeMethod和@AfterMethod
在类中可以影响方法的调用顺序
@Testpublic void testCase(){System.out.println("测试testng");}@BeforeMethodpublic void testBefore(){System.out.println("测试testBefore");}@AfterMethodpublic void testAfter(){System.out.println("测试testAfter");}
执行结果
注解之@BeforeClass和@AfterClass
在类运行之前和之后执行的注解
@Testpublic void testCase(){System.out.println("测试testng");}@BeforeMethodpublic void testBefore(){System.out.println("测试testBefore");}@AfterMethodpublic void testAfter(){System.out.println("测试testAfter");}@BeforeClasspublic void testClassBefore(){System.out.println("测试testClassBefore");}@AfterClasspublic void testClassAfter(){System.out.println("测试testClassAfter");}
执行结果
注解之@BeforeSuite和@AfterSuite
执行顺序中一个重要的注解(测试套件注解):suite把class包裹起来,suite可以包含多个class,类是属于某个套件之下的。
@Testpublic void testCase(){System.out.println("测试testng");}@BeforeMethodpublic void testBefore(){System.out.println("测试testBefore");}@AfterMethodpublic void testAfter(){System.out.println("测试testAfter");}@BeforeClasspublic void testClassBefore(){System.out.println("测试testClassBefore");}@AfterClasspublic void testClassAfter(){System.out.println("测试testClassAfter");}@BeforeSuitepublic void testSuiteBefore(){System.out.println("测试SuiteBefore");}@AfterSuitepublic void testSuiteAfter(){System.out.println("测试SuiteAfter");}
执行结果
忽略测试(enabled = false)
在@Test注解标签后添加属性(enabled = false)
@Testpublic void testCase(){System.out.println("测试testng");}@BeforeMethod(enabled = false)public void testBefore(){System.out.println("测试testBefore");}@AfterMethod(enabled = false)public void testAfter(){System.out.println("测试testAfter");}@BeforeClasspublic void testClassBefore(){System.out.println("测试testClassBefore");}@AfterClasspublic void testClassAfter(){System.out.println("测试testClassAfter");}
执行结果
分组测试
方法上分组,是将方法进行分组
@Testpublic void testCase(){System.out.println("测试testng");}@Test(groups = "one")public void testGroupOne(){System.out.println("测试testGroupOne");}@Test(groups = "one")public void testGroupTwo(){System.out.println("测试testGroupTwo");}@Test(groups = "two")public void testGroupThree(){System.out.println("测试testGroupThree");}@BeforeMethodpublic void testBefore(){System.out.println("测试testBefore");}@AfterMethodpublic void testAfter(){System.out.println("测试testAfter");}@BeforeClasspublic void testClassBefore(){System.out.println("测试testClassBefore");}@AfterClasspublic void testClassAfter(){System.out.println("测试testClassAfter");}
执行结果
参数化测试 -xml文件参数化
在resource目录下,新建一个xml文件。邮件xml文件点击run即可运行。
执行结果:
TestNG测试框架介绍整理相关推荐
- maven TestNg 测试框架 not found
在用TestNG测试框架进行单元测试时,在我的pom.xml中写的依赖: <dependency><groupId>org.testng</groupId>< ...
- (一)TestNG测试框架(含Demo源码)
目录 一.TestNG是什么 二.关于TestNG使用 三.关于TestNG流程控制 四.结合场景讲解TestNG注解 五.TestNG框架(Demo源码) 六.补充知识点 一.TestNG是什么 T ...
- testng执行参数_初识TestNG测试框架
testkuaibao|软件测试自学公众号 公众号文章的推送机制改变.又由于我们公众号是不定时更新的,所以会导致很多小伙伴不能及时的收到我们的文章.大家可以把我们的公众号设置为星标,或者看完文章点个在 ...
- 乐玩自动化测试模块_五大测试框架介绍,附带全套黑马自动化测试视频教程(完结)...
这个框架需要开发数据表和关键字,这些数据表和关键字独立于执行它们的测试自动化工具,并可以用来"驱动"待测应用程序和数据的测试脚本代码,关键宇驱动测试看上去与手工测试用例很类似. 概述 在自动 ...
- selenium+ant+testng测试框架简单介绍
为什么80%的码农都做不了架构师?>>> 转载于:https://my.oschina.net/qyxa/blog/264076
- (一)TestNG测试框架之HelloWorld入门
前言 该篇文章主要覆盖环境配置.testNG入门.执行测试三块内容. 工具 IntelliJ IDEA TestNG 6.11 Maven pom.xml配置 新建一个maven项目,pom.xml引 ...
- TestNG测试框架之TestNG.xml/YAML
前言 该篇文章将详细讲述xml执行方式. testng.xml详解 <?xml version="1.0" encoding="UTF-8"?> & ...
- TestNG测试框架之失败测试重跑
前言 在案例执行过程中,往往需要对失败的案例进行重跑,TestNG亦提供相应的实现方案. 示例 当套件中的测试执行失败时,TestNG都会创建一个名为testng-failed.xml的文件,该XML ...
- (二)TestNG测试框架之注解及属性概览
前言 TestNG提供了诸多注解,允许开发/测试人员灵活地组织强大的测试用例. 注解概览 注解/属性 描述 @BeforeSuite @AfterSuite @BeforeTest @AfterTes ...
最新文章
- Elasticsearch创建雇员目录
- MS-DAYOLO来了!多尺度域自适应的YOLO,恶劣天气也看得见!
- 笔记_SQLite入门
- matlab 向前欧拉公式,向前欧拉公式在Matlab解微分方程初值解的问题
- 移动GPU三种主流架构优缺点浅析
- 【CCCC】L2-001 紧急救援 (25分),,Dijkstra标准模板(多路径,最大点权和路径打印)
- 阿里巴巴的26款超神Java开源项目!建议收藏~
- nohup启动java命令导致dubbo无法注册
- 手把手一步步用DataGridView 控件编写属于自己的日历
- mhdd硬盘测试软件,mhdd硬盘检测工具使用攻略 mhdd硬盘检测工具如何使用
- linux-巴斯勒相机 GigE通信配置步骤
- python小学口算题库生成器_使用Python生成Excel版口算题
- 让国外买家秒回复的询盘模板合集
- 苹果版赤潮可以用微信登陆吗_用swiftui中的苹果登录
- 小白最需要了解的计算机基础知识
- 指纹采集器测试软件,售完存档:小熊做的关于奔凯BIOCOME USB指纹采集器 指纹识别仪TCR4 Win7 Win8 Win10下的使用教程...
- 至高荣誉:WPS制作荣誉证书(转)
- JavaSE 知识大纲
- win7用linux脚本文件怎么打开,win7下通过ShellExecute调用记事本
- 百度提供的LBS服务