TestNG在某种方式上对于开发者和测试者来说是一种更高级的测试框架,如果已经使用Junit框架的人来说,TestNG并没有什么高级的特征。
JUnit在Java应用程序、Java开发人员和Java测试人员中很流行使用,很大程度上提高了代码质量。
尽管JUnit是一个易于使用和简单明了的框架,但它也有自己的局限性,这就需要引入TestNG。
TestNG是由一个名为“Cedric Beust”的著名程序员创建的。TestNG是一个开源框架,它是在Apache软件许可下发布的,可以随时下载。
我们在WebDriver中引入TestNG的需求,是因为它提供了一种有效的测试结果格式,可以与大众共享,使我们可以了解产品/应用程序的健康状况,TestNG消除WebDriver无法生成测试报告的缺点。它有一个内置的异常处理机制,它允许程序在不意外终止的情况下运行。
TestNG和JUnit都属于同一个单元框架系列,TestNG是JUnit的扩展版本,在当前环境下得到了更广泛的使用。
下面我们就来讨论下关于TestNG的所有特征和应用:
一.TestNG的特点
支持注释
支持参数化
不需要创建测试套件的高级执行方法
根据数据提供者提供的数据进行数据驱动测试
允许用户为测试方法设置执行优先级
在执行多线程时提供安全的环境
支持各种工具和插件的集成,如构建工具(Ant、Maven等)、集成开发环境(Eclipse)。
为用户使用ReportNG生成报表提供了有效的方法
TestNG与Junit对比:
TestNG比JUnit有许多优点:
高级且简单的注释
可以设置执行模式
测试脚本的并发执行
可以设置测试用例依赖项
在TestNG和JUnit中,注释前面都有一个“@”符号。
二.在Eclipse中安装TestNG
根据下面的步骤在eclipse上下载和安装TestNG
步骤一:启动eclipse IDE->点击菜单栏上的帮助选项->在下拉框中选择“Eclipse Marketplace..”选项
步骤二 在搜索框输入关键词“TestNG”,点击go 按钮
步骤三 当点击go 按钮后,显示匹配搜索的结果,点击install 按钮安装“TestNG”
步骤四 下载后会有一个弹出确认的弹窗,点击confirm确认
步骤五 接下来,应用会弹出接受license框,然后点击“Finish”按钮
步骤六 开始安装,可以看见安装进度条
重启 eclipse
重启后,点击菜单栏的“Window”选项下的“Preferences”来验证TestNG的安装。请参阅下图
三.创建TestNG项目示例
步骤一 点击菜单栏的File-> new->java Project
步骤二 输入项目名称如“DemoTestNG”,点击”Next”按钮,点击“Finish”按钮,这样java 项目创建成功
步骤三 导入TestNG 目录到新创建的java 项目,单击Build Path下的“Libraries”选项卡,点击“Add library”。
步骤四 在弹出的对话框,选择TestNG,点击“Next”按钮,点击“完成”按钮。
现在TestNG已经加入到Java project 中,如下图
将下载的所有Selenium库和jar添加到项目的构建路径中。
四.创建TestNG类
创建示例脚本
步骤一 展开“Demo TestNG”项目,选择 “src”文件夹,右键单击“src”包导航到New -> Other。
步骤二 打开TestNG选项,选择TestNG类选项,点击next 选项
步骤三 指定源文件夹、包名和TestNG类名,然后单击Finish按钮。
TestNG类将使用默认模式创建
场景:
启动浏览器,打开“Gmail.com”。
验证页面标题并打印验证结果。
输入用户名和密码。
单击登录按钮。
关闭web浏览器。
代码解释:
1)@Test是TestNG注释之一。这个注释让程序知道标注为@Test的方法是一个测试方法。为了能够使用不同的TestNG注释,我们需要导入包“import org.testng.annotations.*”。
2)使用TestNG创建测试脚本时不需要main()方法。程序的执行是在注释的基础上完成的。
3)在语句中,我们在比较预期值和实际值时使用Assert类。Assert类用于执行各种验证。为了能够使用不同的类,我们需要导入“import org.testng.Assert”。
五.执行TestNG脚本
在代码区任意地方右键,或者java包上右键选择“Run As”选项,点击“TestNG Test”运行
TestNG结果在两个窗口显示
控制台窗口
TestNG结果窗口
六.HTML报告
TestNG具有生成用户可读和可理解的HTML报告的强大功能。这些报告可以在任何浏览器中查看,也可以使用Eclipse的内置浏览器支持来查看。
生成步骤:
步骤1:执行新创建的TestNG类。右键单击包含TestNG类的项目,选择“Refresh”选项刷新
步骤2:在“src”文件夹级别生成一个名为“test-output”的文件夹,展开“test-output”文件夹,用Eclipse浏览器打开“email -report”, HTML文件显示最近执行的结果。
步骤3:HTML报告在eclipse环境中打开,请参阅下图
七.在TestNG中设置优先级
示例:
八.代码走查
如果测试脚本由多个测试方法组成,则可以使用TestNG注释“@Test”并通过设置“priority”参数的值来设置执行优先级和顺序。
在上面的代码片段中,所有方法都用 @Test标注,优先级设置为0、1和2。因此测试方法的执行顺序为:
Method1
Method2
Method3
支持注解
TestNG和JUnit中提供了许多注释。很小的区别在于TestNG为JUnit提供了一些更高级的注释。
九.TestNG的注释
以下是TestNG中最有用的注释:
十.总结
TestNG是一个有利于开发和测试使用的高级框架;
TestNG是一个开源框架,它是在Apache软件许可下发布的,可以随时下载;
TestNG因为具有高级的特性,所以被认为优于Junit;
TestNG是免费的,可以使用Eclipse Market很容易地安装在Eclipse IDE中。
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群: 755431660