【第三方原创投稿】分享一款优秀的自动化测试框架之testNG框架

大神盘古哥 2018-10-16 1评论 159人次

写作背景:

一个互联网平台,程序前后端分离,接口就有几十到几百个不等,总之很多很多就够了,设计测试用例的时候,每一个接口就要若干条测试用例,这是一个很大的数量,基于接口和接口之间的业务逻辑处理,按特定顺序调用测试用例方法,方法和方法之间共享一些数据和状态。如何管理这些测试用例?如何才能做到优雅地测试?

我们先来找一个可以解决上述话中提到的问题的框架。

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

下一篇的博客中,会讲解如何快速搭建和规范使用

#testNG#

版权声明:除非注明,本文由( 大神盘古哥 )原创,转载请保留文章出处。

本文链接:【第三方原创投稿】分享一款优秀的自动化测试框架之testNG框架

用户评论:

2018-10-19 20:27
受益了

发表评论:

您的昵称:
电子邮件:
个人主页: