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

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集成

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值