首页 > 编程语言 >TestNG详解,Java自动化用例管理利器!

TestNG详解,Java自动化用例管理利器!

时间:2024-07-24 23:24:47浏览次数:17  
标签:xml 依赖 Java TestNG priority 用例 方法

TestNG是开源自动化测试工具,覆盖多类型测试:单元测试,功能测试,集成测试,它的功能非常强大

  • 支持多种类型的单元测试(异常测试, 超时测试,依赖测试….)

  • 支持参数化 & 提供了丰富的测试用例组织方式(Suite, Test, Method)

  • 生成测试报告,并支持测试报告扩展(Allure,ReportNG)

    图片

除了用于单元测试,在实施自动化时,我们可以基于TestNG实现用例的管理,无论是UI自动化还是API自动化,TestNG都可以用作用例管理:

  • 测试用例的组织

  • 用例优先级指定

  • 用例依赖关系指定

  • 用例的并发运行

图片

 

01 TestNG管理用例依赖关系

1、@Test(priority="整数值")

  • priority用于指明优先级, TestNG根据priority决定测试的执行顺序, priority值越小,越优先执行

  • priority属性默认为0,priority可以是任意int(正负整数均可,负数优先级大于0)

  • priority只在对同一个java类里的方法起作用

2、@Test(denpendOnMethods=“方法名”)

  • denpendOnMethods用于指明依赖方法,依赖方法通过,被依赖方法才会执行

  • 如果一个测试方法有依赖方法,被依赖的方法执行完毕以后,该测试方法才会执行

  • dependOnMethods会改变执行的优先级,无论被依赖的方法优先级多高,依赖方法都会优先执行

  • dependOnMethods/dependOnGroups只对同一个java类里的方法起作用

02 TestNG管理用例执行

TestNG通过提供TestSuite.xml文件可以把多个Java类中@Test注解标注的方法组织到一块执行。

TestNG的用例管理设计思路和手工用例类似:

  • @Test注解标注的方法对应一条测试用例

  • Java类文件对应一个TestCase

  • TestSuite.xml对应一个TestSuite

    图片

TestSuite.xml除了可以组织起多个Java类文件,还能指定运行顺序,包含或排除类里的特定方法

  • Testng.xml里的执行顺序是按xml文件从上至下顺序执行的

  • 可在testng.xml里面指定运行哪些方法或者排除哪些方法, 如果有include选项,就只运行include的方法,如果只有exclude选项,就会运行exclude以外的其他所有方法

  • TestNg可以通过在suite上配置参数,可指定并行的线程数

    图片

除了上述功能,主流的测试报告工具都提供了对TestNG的支持,无论是ExtentReport还是Allure,均能很容易的和TestNG集成

标签:xml,依赖,Java,TestNG,priority,用例,方法
From: https://blog.csdn.net/m0_58552717/article/details/140675749

相关文章

  • JavaScript的数组方法
    JavaScript中的数组是高阶的、灵活的数据结构,提供了许多内置方法来操作数组。以下是一些常用的数组方法:1.数组的添加、删除和替换方法:push(...items):向数组末尾添加一个或多个元素,并返回新的长度。pop():移除数组的最后一个元素,并返回被移除的元素。unshift(...items):向数组......
  • 深入理解 Java17 新特性:Sealed Classes
    0关键总结JavaSE15在2020年9月发布,预览功能引入“封闭类”(JEP360)封闭类是一种限制哪些其他类或接口可扩展它的类或接口类似枚举,封闭类在领域模型中捕获替代方案,允许程序员和编译器推理其穷尽性封闭类对于创建安全的层次结构也很有用,通过解耦可访问性和可扩展性,允许库开......
  • 使用ElasticSearch优化Java应用的搜索功能
    使用ElasticSearch优化Java应用的搜索功能大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代应用开发中,搜索功能是用户体验的关键部分。传统的数据库查询在处理大量数据时往往显得效率低下,而ElasticSearch则提供了一种高效、可扩展的解决方案来优化搜......
  • Java中的WebSocket编程:实时通信实现
    Java中的WebSocket编程:实时通信实现大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!实时通信在现代应用中变得越来越重要,从即时聊天到实时数据更新,WebSocket提供了一种高效的解决方案。本文将详细讲解如何在Java中使用WebSocket进行实时通信,涵盖基本的WebS......
  • 深入理解Java中的类加载机制
    深入理解Java中的类加载机制大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!类加载机制是Java虚拟机(JVM)中的核心部分,它决定了类的生命周期以及如何将类的字节码加载到内存中。了解类加载机制对于调试、性能优化以及安全性都至关重要。本文将深入探讨Java中......
  • Java中的定时任务调度:Quartz详解
    Java中的定时任务调度:Quartz详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代软件开发中,定时任务调度是一项非常常见的需求。Quartz是Java平台上一个强大且灵活的任务调度库,广泛应用于企业级应用中。本文将深入探讨Quartz的基本概念、配置方法和......
  • Java中的多线程调试技术与工具
    Java中的多线程调试技术与工具大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在多线程Java应用程序中,调试是一个重要而复杂的任务。多线程程序的调试比单线程程序更加困难,因为你需要考虑线程的同步、死锁、竞态条件等问题。本文将探讨多线程调试的技术和......
  • 力扣1456. 定长子串中元音的最大数目(java)
     题目描述示例思路看到“定长子串”时,我们容易联想到用滑动数组来实现这个算法。滑动数组允许我们在每次移动窗口时,只需增加新元素并减去旧元素的计数,而不必重新计算整个窗口的内容,相对于其他复杂的算法来说,实现起来更为直观和简单解题方法1.首先创建isVomel方法......
  • 利用Java Swing实现在线游戏盒子:弹弹堂游戏
    盒子实现游戏......
  • [java][工具使用]使用hutool解析json
    使用hutool解析json注意点:1.数组和字典接受的对象和方法不一样        数组使用JSONArray       字典使用JSONObject2.如果字典中提取不存在的key,返回的结果nullpackagecn.npsel.test;importcn.hutool.json.JSONArray;importcn.hutool.json.JSONOb......