【第三方原创投稿】分享一款优秀的自动化测试框架之testNG框架
写作背景:
一个互联网平台,程序前后端分离,接口就有几十到几百个不等,总之很多很多就够了,设计测试用例的时候,每一个接口就要若干条测试用例,这是一个很大的数量,基于接口和接口之间的业务逻辑处理,按特定顺序调用测试用例方法,方法和方法之间共享一些数据和状态。如何管理这些测试用例?如何才能做到优雅地测试?
我们先来找一个可以解决上述话中提到的问题的框架。
TestNG是什么:
TestNG!没错,这是一个测试框架,我们先来了解一下它是什么吧,
TestNG的灵感来自JUnit和NUnit,做过java的同学应该有了解,JUnit是一款测试框架,单元测试,开发人员使用,那么同理可推,TestNG是测试人员使用的测试框架,没做过java的同学也不要着急,我接下来还会针对它是什么来解释一下。
TestNG是一个开源测试框架,可以用于自动化测试,它的灵感来源于JUnit,但不是JUnit的扩展,也不是继承种种,反正就是没啥关系,但是它的目的就是想超越JUnit,优于JUnit,就是你能干我也能干,你不能干的我也能干,所以,实际的使用中,它更加灵活和强大,可以到什么程度呢,我们一起感受一下。
直奔主题:
TestNG具备哪些特点呢?
TestNG解除了大多数旧框架的限制,所以它是灵活的,
1、灵活的插件API。
2、支持多线程测试。
3、支持面向对象的功能。
4、支持负载测试、并行测试、依赖测试等多种测试。
5、一切皆配置,比如独立的编译时间配置,运行时间配置等等。
6、支持多种安装方式,安装便捷。
好了,原本决定从安装开始分析,现在我不想像网站上其他的博客一样,敷衍了事,截图上传就完事了,所以具体安装我会针对几种方式专门写一篇文章,在下一次更新文章的时候放出来。
注解部分:
@BeforeSuite 官方的解释是:在该套件的所有测试都运行在注释的方法之前,仅运行一次。直白一点,运行所有的测试方法前,它最先运行,并且只运行一次。
@AfterSuite 官方解释是:在该套件的所有测试都运行在注释方法之后,仅运行一次。还是直白一点,那就是运行所有的测试方法后,它最后运行,并且只运行一次。
关于注解部分我进行了简单的排序,一目了然。
@BeforeSuite(套件) 1
@BeforeClass(类) 2
@BeforeMethod(方法) 3
@Test 4
@AfterMethod 5
@AfterClass 6
@AfterSuite 7
特殊的几个注解
@BeforeTest
@AfterTest
@BeforeGroups
@AfterGroups
@DataProvider 提供测试方法的数据。 注释方法必须返回一个Object [] [] 其中每个Object []可以被分配给测试方法的参数列表。 要从该DataProvider接收数据的@Test方法需要使用与此注释名称相等的dataProvider名称
@Factory 返回TestNG将被用作测试类的对象。 该方法必须返回Object []
@Listeners 测试类上的侦听器。
@Parameters 描述如何将参数传递给@Test方法。
全部排序
@BeforeSuite
@BeforeTest
@BeforeClass
@BeforeGroups
@BeforeMethod
@Test - runTest1
@AfterMethod
@AfterGroups
@AfterClass
@AfterTest
@AfterSuite
下一篇的博客中,会讲解如何快速搭建和规范使用
版权声明:除非注明,本文由( 大神盘古哥 )原创,转载请保留文章出处。
用户评论:
发表评论: