您的位置:首页 > 其它

TestNG 图解说明

2015-09-02 13:15 363 查看
TestNG 是什么

TestNG,即Testing,Next Generation,下一代测试技术,是一套根据JUnit和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做集成测试

TestNG 如何安装







输入http://beust.com/eclipse/











如果出现就点ok



点yes
TESTNG 类新建
重启之后我们在测试工程中新建一个TESTNG的包名







在TESTNG包名处右击鼠标










现在增加部分代码




选择Run――TESTNG





执行上面最简单的一个代码时大家一定发现了在每个方法前有一个@ 标签,这个标签在TESTNG 中叫注解

现在跟大家普及下TESTNG 中的标签是什么意思,执行顺序是怎样的呢

TESTNG 注解

首先我们在创建TESTNG 时出现以下界面对吧



以下是每个注解的具体描述信息



为了便于了解上述注解的使用方式我这边在创建Class 时全选上所有注解



模板生成之后增加打印语句


.

运行TESTNG



其中的BeforeMethod/AfterMethod 会在每个方法中调用一次,这种适用场所,比如我执行完第一个用例之后要重置数据才能执行第二条用例时,可以用这种方式,BeforeMethod 就放重置数据的方法,让每个方法执行之前都去调用这个方法

现在再用实际例子跑一次苏宁易购网

新建以下代码



用TESTNG 运行该类

查看记录运行结果是PASS 的



切换到另一视图



可以精确看到每个方法执行花费多长时间,也可以看到执行是通过还是不通过

TESTNG 结果展示

将工程刷新之后在SRC 同级目录下你可以看到一个TEST-OUTPUT 的目录


.



打开该目录选择emailable-report.html‘,





TESTNG 中XML 简单配置

现在对上述测试类稍作修改,做成XML 调用方式





在TESTNG.XML 中输入以下代码



选择TESTNG.XML 后点右我键选择RUN –TESTNG TEST



执行完再查看结果



TESTNG 执行顺序

TESTNG 在实际执行过程中顺序是如何排的呢

其实他并不是按代码中从上往下执行的,他是控字母+数字排序

新建以下类



运行TESTNG TEST



发现他并没有按我们代码中1,2,3,4 的顺序执行

那如果我想按代码写的顺序执行如何办呢

可以在注解中增加顺序

(priority=XX) XX 代表第几次执行

我们将上述代码再修改下,先将1,2,3,4 的顺序再打乱下

再用标记的方式让系统执行按1,2,3,4 的顺序执行



假如调试时我可能只要执行部分方法,也就是说要跳过一部分方法怎么办呢,同样是在注解中增加参数

这时我们可以增加enabled=false 表过该方法不执行

在执行过程中3的方法就没有执行了



TESTNG Resport 记录展示

在RESTPORT 中展示Log

再新增一个ReporterLogs TESTNG类

输入以下内容



执行之后打开 emailable-report.html 会发现如图所示的画面



Log.info("信息验证Ok");

Reporter.log("测试方法已验证通过");

可以看出两个log 展示的地方不一样,Reporter.log只是在结果中展示,用于展示一些概述性的东西时比较好,比如一个方法执行通过就打印下,具体步骤我们就用log.info方式记录

TESTNG 参数化

TESTNG 中的参数与数据提供者介绍

参数需要在注解中加入这个格式

@Parameters({"参数1","参数2"})

现在我们还是以苏宁易购网站为例稍作修改

新建一个测试类



同时修改TESTNG.XML



这样设置代表数据是从xml
中取,之后传级测试类中的参数

点击TESTNG.XML
运行testng 之后结果展示:





另一种数据提供者

也是通过增加注解方式实现

标准格式是:

@DataProvider(name="XXXX")

现再新建一个测试类

输入以下代码



运行TESTNG



我们虽然只有一个测试方法,但同一个没试方法有两组数据,所以被执行两次
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: