Java自动化王者 —— TestNG详解跑【2600字保姆级教程】

1530 篇文章 70 订阅
19 篇文章 2 订阅

TestNG使用步骤和优点

优点:

  • 漂亮的HTML格式测试报告

  • 支持并发测试

  • 参数化测试更简单

  •  支持输出日志

  • 支持更多功能的注解

编写TestNG测试用例的步骤:

  • 使用 Eclipse生成TestNG的测试程序框架

  • 在生成的程序框架中编写测试代码逻辑

  • 根据测试代码逻辑,插入TestNG注解标签

  • 配置Testng.xml文件,设定测试类、测试方法、测试分组的执行信息

  • 执行TestNG的测试程序

02、安装执行TestNG

1、如何安装TestNG?

启动Eclipse,选择Help-》Install New Software-》点击add-》name中输入TestNG,location中输入“http://beust.com/eclipse/”,点击ok-》在弹出的install对话框中勾选TestNG复选框-》Next-》Accept-》Finish

2、testNG用例执行后如何查看执行结果?

在Console标签栏中展示测试用例的执行结果,如图: 

在工程下也会生成一个test-output文件夹,如图:

03、TestNG常用注解

执行顺序如下:

@BeforeSuite > @BeforeTest > @BeforeMethod > @Test > @AfterMethod > @AfterTest > @AfterSuite

@BeforeSuite

表示会在当前测试集合中的任意一个测试用例开始运行前执行

@AfterSuite

表示会在当前测试集合中的所有测试程序运行结束之后执行

@BeforeTest

表示会在Test中的任意一个测试用例开始运行前执行

@AfterTest

表示会在Test中的所有测试用例运行结束后执行

@BeforeGroups

分组测试用例的任一测试用例开始运行前执行

@AfterGroups

分组测试用例的所有测试用例运行结束后执行

@BeforeClass

在当前测试类的任意一个测试用例开始运行前执行

@AfterClass

在当前测试类的所有测试用例运行结束后执行

@BeforeMethod

在每个测试方法开始运行前执行

@AfterMethod

在每个测试方法运行结束后执行

@Test

被认为是一个测试方法,即一个测试用例

如何创建TestNG测试集合?

测试集合:在自动化测试的执行过程中,通常会产生批量运行多个测试用例的需求,此需求称为运行测试集合(Test Suite)

TestNG的测试用例可以是相互独立的,也可以按照特定的顺序来执行(配置TestNG.xml)

如何配置testNG.xml文件?   

<suite name = "TestNG Suite">    //自定义的测试集合名称   

<test name = "test1">    //自定义的测试名称     

<classes>    //定义被运行的测试类       

<class name = "cn.gloryroad.FirstTestNGDemo" />    //测试类的路径       

<class name = "cn.gloryroad.NewTest" />     

</classes>   

</test>  

</suite>

测试用例的分组(group)

  • 只执行一组分组配置如下:

<suite name = "TestNG Suite">   

<test name = "Grouping">     

<groups>       

<run>         

<include name = "动物" />       

</run>     

</groups>     

<classes>       

<class name = "cn.gloryroad.Grouping"/>     

</classes>   

</test>

</suite>
  • 执行多组分组时配置如下(两种形式都可以):

<suite name = "TestNG Suite">   

<test name = "Grouping">     

<groups>       

<run>         

<include name = "动物" />   //name分组名称              

<include name = "人" />       

</run>     

</groups>     

<classes>       

<class name = "cn.gloryroad.Grouping"/>     

</classes>   

</test>

</suite>            


<suite name = "TestNG Suite">    

<test name = "Grouping">        

<groups>
       <define name = "All">
          <include name = "动物" />
          <include name = "人" />
       </define>
       <run>
          <include name = "All" />
       </run>

       <define name = "All">
          <include name = "动物" />
          <include name = "人" />
       </define>
       <run>
          <include name = "All" />
       </run>

      </groups>    

<classes>       

<class name = "cn.gloryroad.Grouping"/>     

</classes>   

</test>  

</suite>

04、TestNG补充

1、依赖测试(dependsOnMethod)

@Test(dependsOnMethod = {"方法名称"})

被依赖的方法优先于此方法执行

2、特定顺序执行测试用例(priority)

@Test(priority = 0/1/2/3/4/…)

按照数字大小顺序优先执行,优先执行1,然后是2…

3、如何跳过某个测试方法(enabled = false)

@Test(priority = 0/1… , enabled = false)

执行结束后,在测试报告中显示跳过的测试用例数,例如skip=1

4、数据注解

  • 参数化测试(@Parameters-》通过xml文件从外部给测试方法传参):<Parameter name="Type" value="chrome"/>  

  • 数据驱动(@DataProvider) 

5、测试报告中自定义日志(Reporter.log(“输入自定义内容”)),例如:

@Test(groups = {""})

 public void student(){

   System.out.println("学生方法被调用");

   Reporter.log("学生方法自定义日志");

 }

END学习安排上!

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值