Java_TestNg

news2024/11/19 9:35:56

TestNg

  • 前言
    • 支持特性
  • 使用步骤
    • 1.引入库
  • 常用注解
    • @Test注解
    • @BeforeSuite @AfterSuite
    • @AfterClass @BeforeClass
    • @AfterTest @BeforeTest
    • @AfterGroups @BeforeGroups
    • @BeforeMethod @AfterMethod
    • @DataProvider
    • @Factory
    • @Listeners
    • @Patameters
    • 断言
      • 相等 不相等
      • true/false
      • null / !null
      • equals / !equals
    • 忽略测试
    • group
    • 依赖测试

前言

一些如 依赖测试,分组测试 等功能

支持特性

注解支持
忽略测试
超时测试
套件测试
异常测试
分组测试
参数化支持
数据驱动
依赖测试

使用步骤

1.引入库

代码如下(示例):

<dependencies>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.3.0</version>
    </dependency>
</dependencies>

常用注解

在这里插入图片描述

@Test注解

放在类上,整个类内的方法都被运行

放在 方法上,只运行该方法

@BeforeSuite @AfterSuite

运行定义在套件中的方法之前,先运行被 @BeforeSuite 标记的方法
在 TestSuite 中定义具体要执行的方法.
在 TestSuite 中方法执行前,执行 被 @BeforeSuite 标记的方法

@AfterClass @BeforeClass

在调用指定类中所有测试方法前,运行一次.
在调用指定类中所有测试方法后,运行一次
类中任何方法运行,都会运行该方法一次

@AfterTest @BeforeTest

在这里插入图片描述

@AfterGroups @BeforeGroups

在这里插入图片描述

@BeforeMethod @AfterMethod

在这里插入图片描述

@DataProvider

可以创建依赖的数据并且返回给 @Test(dataProvider = “provider”) 使用

@Factory

采用工厂方法创建测试数据
在这里插入图片描述
左边的@Test标记的方法,会调用右边的@Factory标记的方法所创造的实例.

@Listeners

监听测试方法的开始 结束 执行结果
在这里插入图片描述
具体的实现方法

在这里插入图片描述
还有

onStart
onFinsh

方法可以重写

@Patameters

给测试方法传递参数的注解
在 testngxxx.xml 里面配置参数值
在这里插入图片描述
具体的方法
在这里插入图片描述

断言

相等 不相等

true/false

null / !null

equals / !equals

在这里插入图片描述

忽略测试

@Test(enable = false)
此测试方法会忽略 不执行

group

依赖测试

@Test(dependsOnMethods = {“Test2”})

被依赖的如果报错.则依赖方不会执行.
A 依赖了B. B报错,则A不会执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2178215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CUDA 参考文章

CUDA&#xff1a;NVCC编译过程和兼容性详解_nvcc把cuda代码转换成什么-CSDN博客https://blog.csdn.net/fb_help/article/details/80462853 1、CUDA&#xff1a;NVCC编译过程和兼容性详解 CUDA&#xff1a;NVCC编译过程和兼容性详解 https://codeyarns.com/2014/03/03/how-to-sp…

Appinventor2 多屏幕之间如何共享过程?

先说结论&#xff1a;不能共享&#xff0c;但可以变通&#xff0c;这个问题上没有完美方案&#xff01; Appinventor2 多屏幕之间如何共享过程&#xff1f;或者说如何跨屏幕调用其他屏幕的过程&#xff1f; 相信有很多人有过这样的问题&#xff0c;但是目前来看每个屏幕都是独…

自动化测试常见的面试题(超详细整理)

“ 今天我给大家介绍一些python自动化测试中常见的面试题&#xff0c;涵盖了Python基础、测试框架、测试工具、测试方法等方面的内容&#xff0c;希望能够帮助你提升自己的水平和信心。” 项目相关 1.什么项目适合做自动化测试&#xff1f; 答&#xff1a;一般来说&#xff…

物联网行业中心跳机制的介绍以及如何实现

01 概述 心跳机制出现在TCP长连接中&#xff0c;客户端和服务端之间定时发送一种特殊的数据包通知对方还在线&#xff0c;以确保TCP连接地可靠性&#xff0c;有可能TCP连接由于某些原因&#xff08;例如网线被拔了&#xff0c;突然断电&#xff09;导致客户端断了&#xff0c…

DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL(附源码)

1、项目功能演示 DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL 2、项目功能描述 基于springboot问卷调查管理系统包括以下功能&#xff1a; 1、系统登录、系统注册 2、创建题目、题目信息查看 3、创建问卷、我的问卷信息查看 4、创建活动、我的活动信息…

个人常用AI工具集合

人工智能AI发展到今天&#xff0c;个人也研究了一段时间&#xff0c; 这里把自己常见的 AI软件整理在这&#xff0c;方便需要者。 一、AI写作&#xff1a; 1、国外的claude3.5_sonnet &#xff0c; 官方地址&#xff1a;https://www.anthropic.com/ &#xff0c;需要魔法访问…

MySQL | excel数据输出insert语句

需求 在日常生产运维过程中&#xff0c;有很多需要进行人工梳理的excel数据&#xff0c;到了研发这一侧需要转为sql语句进行数据修正&#xff0c;如何输出insert插入语句&#xff1f; 方案 在空白列插入&#xff0c;选择需要的列 "INSERT INTO tab_name1 (name, desc) …

怎么查看网站是否被谷歌收录,查看网站是否被搜索引擎收录5个方法与步骤

要查看网站是否被谷歌&#xff08;Google&#xff09;或其他搜索引擎收录&#xff0c;是网站管理和SEO&#xff08;搜索引擎优化&#xff09;中的一个重要环节。以下是查看网站是否被搜索引擎收录5个方法与步骤&#xff0c;帮助您确认网站是否被搜索引擎成功索引&#xff1a; …

MySql的慢查询(慢日志)

1.什么是慢查询&#xff1f; 慢查询日志&#xff0c;就是查询花费大量时间的日志&#xff0c;是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志&#xff0c;以帮助开发者分析和优化数据库查询性能。默认情况下&#xff0c;慢查询日志是关闭的&#…

推荐4款2024年热门的PDF转ppt工具

有时候&#xff0c;我们为了方便&#xff0c;需要将PDF里面的内容直接转换的PPT的格式&#xff0c;既方便自己演示和讲解&#xff0c;也让我们可以更加灵活的进行文件的编辑和修改。如果大家不知道要如何进行操作的话&#xff0c;我可以为大家推荐几个比窘方便实用的PDF转换工具…

报错Invalid HADOOP_HDFS_HOME

使用env命令查看已有环境变量 果然多了一个变量&#xff0c;因为不需要&#xff0c;所以删除&#xff0c;再次使用env命令查看&#xff0c;无此变量 再输入hadoop,显示正确

并发面试合集

1.创建线程的方式 区分线程和线程体的概念&#xff0c;线程体通俗点说就是任务。创建线程体的方式&#xff1a;像实现Runnable、Callable接口、继承Thread类、创建线程池等等&#xff0c;这些方式并没有真正创建出线程&#xff0c;严格来说&#xff0c;Java就只有一种方式可以…

Arthas watch (方法执行数据观测)

文章目录 二、命令列表2.3 monitor/watch/trace/stack/tt 相关2.3.5 watch &#xff08;方法执行数据观测&#xff09;举例1:监控方法举例2&#xff1a;同时观察函数调用前和函数返回后 本人其他相关文章链接 二、命令列表 2.3 monitor/watch/trace/stack/tt 相关 2.3.5 watc…

王道-计组

4 设相对寻址的转移指令占4字节,其中第1、第2字节是操作码,第3、第4字节是相对位移量(用补码表示)。设当前PC的内容为2008H,要求转移到2001H的地址,则该转移指令第3、第4字节的内容应为______ 答案:A 解析:由于指令占4字节,取指令之后(PC)+4。第3、第4字节的内容为:2…

Linux基础(三):安装CentOS7(系统安装+桥接联网+换源)

1.分区设置 由于使用 GPT 的关系&#xff0c; 因此根本无须考虑主/延伸/逻辑分区的差异。CentOS 默认使用 LVM 的方式来管理你的文件系统。使用GPT进行分区&#xff1a; 开机管理程序&#xff08; boot loader&#xff09; 使用CentOS 7.x默认的grub2软件。 2.各种分区格式 …

《Linux从小白到高手》理论篇(四):Linux用户和组相关的命令

List item 本篇介绍Linux用户和组相关的命令&#xff0c;看完本文&#xff0c;有关Linux用户和组相关的常用命令你就掌握了99%了。Linux用户和组相关的命令可以分为以下六类&#xff1a; 一.用户和用户组相关查询操作命令&#xff1a; Id id命令用于显示用户的身份标识。常见…

【Android 14源码分析】Activity启动流程-1

忽然有一天&#xff0c;我想要做一件事&#xff1a;去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

MySQL:存储引擎简介和库的基本操作

目录 一、存储引擎 1、什么是存储引擎&#xff1f; 2、存储引擎的分类 关系型数据库存储引擎&#xff1a; 非关系型数据库存储引擎&#xff1a; 分布式数据库存储引擎&#xff1a; 3、常用的存储引擎及优缺点 1、InnoDb存储引擎 2、MyISAM存储引擎 3、MEMORY存储引擎 …

android kotlin Extension扩展函数

1、新建一个kt文件&#xff1a; 2、代码&#xff1a; class User(var name:String)/**扩展函数**/ fun User.Print(){print("用户名 $name") }// 扩展函数 swap,调换不同位置的值 fun MutableList<Int>.swap(index1: Int, index2: Int) {val tmp this[index1…

组合逻辑元件与时序逻辑元件

组合逻辑元件和时序逻辑元件都是数字电路中的基本构建块&#xff0c;但它们在功能和结构上存在显著差异。 1. 组合逻辑元件: 内容: 组合逻辑元件的输出仅取决于当前的输入&#xff0c;而与之前的输入无关。 它们没有记忆功能。 常见的组合逻辑元件包括&#xff1a; 与门 (AND…