selenium学习笔记——单元测试框架——TestNG

本文详细介绍了TestNG单元测试框架,包括它的优势、安装方法、注解用法、参数化测试、测试用例特性如分组、依赖、跳过、顺序执行、异常测试和报告生成。此外,还演示了如何使用TestNG编写WebDriver脚本并生成测试报告。
摘要由CSDN通过智能技术生成

        TestNG单元测试框架比JUnit要更强大,它提供了更多的拓展功能。目前,大部分自动化测试人员开始转向使用TestNG单元测试框架来运行更复杂的自动化测试用例。

TestNG的介绍

        TestNG 是一种单元测试框架,由Cedric Beust创建,它借鉴了JUnit和NUnit框架的优秀设计思想,引入更易用和更强大的功能。TestNG是一种开源自动化测试框架,NG就是下一代 的意思(Next Generation)。TestNG的使用和JUnit有些类似,但是它的设计实现比JUnit框架更好,提供了更灵活和更强大的功能。TestNG消 除了一些老式框架的限制,让程序员通过注解、分组、序列和参数化等多种方式组织和执行自动化测试脚本。

TestNG的优点

1、可指定执行顺序, dependsOnMethods 属性来应对测试的依赖性问题。

2、参数化测试,TestNG 提供了开箱即用的类似特性。通过在 TestNG 的 XML 配置文件中放入参数化数据,就可以对不同的数据集重用同一个测试用例,甚至有可能会得到不同的结果。支持@DataProvider 注释可以方便地把复杂参数类型映射到某个测试方法。

3、支持分组测试

4、支持多线程测试

5、能生成HTML格式的测试报告

在eclipse中安装TestNG插件

在eclipse中在线安装TestNG

1、打开Eclipse   Help ->Install New Software ,  在弹出的窗口上单击“Add”按钮。

2、在弹出的对话框中的“Name”输入框中输入“TestNG”,“Location”输入框中输入“http://beust.com/eclipse”,单击“OK”按钮。

                       

4、在弹出的“Install”对话框中,勾选“TestNG”复选框,单击“Next”。


5、一直点击“Next”,在以下页面中,选择“I accept the terms....”,点击“Finish”


6、eclipse开始安装TestNG插件,安装过程中,弹出警告框,单击‘OK’按钮继续安装。

                                   


7、安装完成后,系统提示重启eclipse,单击YES

                            

8、重启后,在工程名称上点击右键,弹出的菜单可以看到TestNG菜单项,代表安装成功。



在eclipse中离线安装TestNG

1、下载TestNG离线安装包,此处提供一个下载地址https://pan.baidu.com/s/1chAaMenZwYRpyK7IaqyK1A

2、将解压后的文件..\eclipse-testng插件\features\org.testng.eclipse_6.8.6.20130607_0745,这个文件夹放到..\eclipse\features下。

3、将解压后的文件..\eclipse-testng插件\plugins\org.testng.eclipse_6.8.6.20130607_0745,这个文件夹放到..\eclipse\plugins下。

4、重启eclipse,安装成功。

5、验证是否安装成功,跟在线安装的验证方法一样。


TestNG注解

        TestNG的常见测试用例组织结构如下:

  • Test Suite由一个或者多个Test组成。
  • Test由一个或者多个测试Class组成。
  • 一个测试Class由一个或者多个测试方法组成。

 在testing.xml中的配置层级结构如下:

<suite>
    <test>
        <classes>
            <method>
            </method>
        </classes>
     </test>
</suite>

        运行不同层级的测试用例时,可通过不同注解实现测试前的初始化工作、测试用例执行工作和测试后的清理工作。

TestNG常用的注解

注解名称

注解含义

@BeforeSuite

注解的方法将只运行一次,运行所有测试前此套件中。

@AfterSuite

注解的方法将只运行一次此套件中的所有测试都运行之后。

@BeforeClass

注解的方法将只运行一次先行先试在当前类中的方法调用。

@AfterClass

注解的方法将只运行一次后已经运行在当前类中的所有测试方法。

@BeforeTest

注解的方法将被运行之前的任何测试方法属于内部类的 <test>标签的运行。

@AfterTest

注解的方法将被运行后,所有的测试方法,属于内部类的<test>标签的运行。

@BeforeGroups

组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。

@AfterGroups

组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。

@BeforeMethod

注解的方法将每个测试方法之前运行。

@AfterMethod

被注释的方法将被运行后,每个测试方法。

@DataProvider

标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。

该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。

@Factory

作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。

@Listeners

定义一个测试类的监听器。

@Parameters

介绍如何将参数传递给@Test方法。

@Test

标记一个类或方法作为测试的一部分。

Te
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值