分享

TestNG 图解说明

 小猪窝969 2015-08-28

                                                        TestNG 图解说明



TestNG  是什么


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


 


TestNG  如何安装








输入http:///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










我们虽然只有一个测试方法,但同一个没试方法有两组数据,所以被执行两次




   
       
        
           

 


       

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多