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测试框架介绍整理相关推荐

  1. maven TestNg 测试框架 not found

    在用TestNG测试框架进行单元测试时,在我的pom.xml中写的依赖: <dependency><groupId>org.testng</groupId>< ...

  2. (一)TestNG测试框架(含Demo源码)

    目录 一.TestNG是什么 二.关于TestNG使用 三.关于TestNG流程控制 四.结合场景讲解TestNG注解 五.TestNG框架(Demo源码) 六.补充知识点 一.TestNG是什么 T ...

  3. testng执行参数_初识TestNG测试框架

    testkuaibao|软件测试自学公众号 公众号文章的推送机制改变.又由于我们公众号是不定时更新的,所以会导致很多小伙伴不能及时的收到我们的文章.大家可以把我们的公众号设置为星标,或者看完文章点个在 ...

  4. 乐玩自动化测试模块_五大测试框架介绍,附带全套黑马自动化测试视频教程(完结)...

    这个框架需要开发数据表和关键字,这些数据表和关键字独立于执行它们的测试自动化工具,并可以用来"驱动"待测应用程序和数据的测试脚本代码,关键宇驱动测试看上去与手工测试用例很类似. 概述 在自动 ...

  5. selenium+ant+testng测试框架简单介绍

    为什么80%的码农都做不了架构师?>>>    转载于:https://my.oschina.net/qyxa/blog/264076

  6. (一)TestNG测试框架之HelloWorld入门

    前言 该篇文章主要覆盖环境配置.testNG入门.执行测试三块内容. 工具 IntelliJ IDEA TestNG 6.11 Maven pom.xml配置 新建一个maven项目,pom.xml引 ...

  7. TestNG测试框架之TestNG.xml/YAML

    前言 该篇文章将详细讲述xml执行方式. testng.xml详解 <?xml version="1.0" encoding="UTF-8"?> & ...

  8. TestNG测试框架之失败测试重跑

    前言 在案例执行过程中,往往需要对失败的案例进行重跑,TestNG亦提供相应的实现方案. 示例 当套件中的测试执行失败时,TestNG都会创建一个名为testng-failed.xml的文件,该XML ...

  9. (二)TestNG测试框架之注解及属性概览

    前言 TestNG提供了诸多注解,允许开发/测试人员灵活地组织强大的测试用例. 注解概览 注解/属性 描述 @BeforeSuite @AfterSuite @BeforeTest @AfterTes ...

最新文章

  1. Elasticsearch创建雇员目录
  2. MS-DAYOLO来了!多尺度域自适应的YOLO,恶劣天气也看得见!
  3. 笔记_SQLite入门
  4. matlab 向前欧拉公式,向前欧拉公式在Matlab解微分方程初值解的问题
  5. 移动GPU三种主流架构优缺点浅析
  6. 【CCCC】L2-001 紧急救援 (25分),,Dijkstra标准模板(多路径,最大点权和路径打印)
  7. 阿里巴巴的26款超神Java开源项目!建议收藏~
  8. nohup启动java命令导致dubbo无法注册
  9. 手把手一步步用DataGridView 控件编写属于自己的日历
  10. mhdd硬盘测试软件,mhdd硬盘检测工具使用攻略 mhdd硬盘检测工具如何使用
  11. linux-巴斯勒相机 GigE通信配置步骤
  12. python小学口算题库生成器_使用Python生成Excel版口算题
  13. 让国外买家秒回复的询盘模板合集
  14. 苹果版赤潮可以用微信登陆吗_用swiftui中的苹果登录
  15. 小白最需要了解的计算机基础知识
  16. 指纹采集器测试软件,售完存档:小熊做的关于奔凯BIOCOME USB指纹采集器 指纹识别仪TCR4 Win7 Win8 Win10下的使用教程...
  17. 至高荣誉:WPS制作荣誉证书(转)
  18. JavaSE 知识大纲
  19. win7用linux脚本文件怎么打开,win7下通过ShellExecute调用记事本
  20. 百度提供的LBS服务

热门文章

  1. 网络RTK服务和GPS有什么区别?现在哪些品牌在提供网络RTK服务?
  2. android java代码加密,Android中AES256加密的实现 – Leo Chin – 博客园
  3. 查找和排序算法的学生成绩分析实验
  4. 灵魂之问:机器人编程学习的是什么?/机器人课与科学课/机器人课和编程课/乐高机器人学的是什么?
  5. 3D建模巨头Twaver--入门篇2
  6. 74cms前台sql注入
  7. 从感官沉浸到无边界互操作,细数元宇宙游戏的底层逻辑世界
  8. JavaScript相关笔记及案例
  9. 决策树算法介绍(ID3算法和CART算法)
  10. 【python】数字日期转英文月日年