【TestNG】TestNg的实用技巧01

一、TestNG的简介

  1.1 我的简述

  一款基于Java的测试用例管理框架,Junit的升级版

  1.2 官方表述

  TestNG 是一个测试框架,旨在简化广泛的测试需求,从单元测试(单独测试一个类)到集成测试(测试由几个类、几个包甚至几个外部框架组成的整个系统,例如应用服务器)。

编写测试通常是一个三步过程:

二、testNG的实用技巧

  常用注解的作用,简单上图

     (1)并发

  写在 suite 标签内,

<suite name="test1" parallel = "method" thread-count="2">

  支持methods 、classes 、tests级别的并发

  (2)用例重试

  Java class 实现接口IRetryAnalyzer,重写retry方法

  然后在 test 方法引入对应的 MyRetry.class

  

@Test(retryAnalyzer = MyRetry.class)

 

  (3)分组

  

Test.class 文件
@Test(groups = "{V1,V2}")


XML 文件
<groups>
    <run>
        </include name="V1"></include>
        </exclude name="V2"></exclude>  #exclude的优先级更高
    </run>
</groups>

 

  (4)数据驱动 

  

TestNG可以通过两种方式向测试方法传递参数:

  • 利用testng.xml
  • 利用DataProviders

  使用注解 @DataProvider 和 @Factory

  1. 一、通过@Paramter
  2. <suite name="Parameters">

  3.   <parameter name="xml-file" value="accounts.xml" /> #规定

  4.   <parameter name="hostname" value="arkonis.example.com" />

  5.  
  6.   <test name="ParameterTest">

  7.     <parameter name="hostname" value="terra.example.com" />

  8.     ...

  9.   </test>

  10.   ...

  11. </suite>

  1. @Test(parameters = {"xml-file"}) #使用

  2. public void validateFile(String xmlFile)

  3. {

  4.   // xmlFile has the value "accounts.xml"

  5. }




  1. 二、通过@DataProvider
@DataProvider(name = "D1") #数据提供者

@Test(dataProvider = "D1") #数据提供者

  注意事项:

 (1)paramter 是提前预设,需要运行时生成 ,建议dataProvider

  (2) 一个传递基本的数据类型,另外一个可传递对象

  (3)dataProvider 可用于构造多组数据对一个测试点复用

  (4)针对dataProvider的参数,数据提供者本身可以接受两个类型的参数:Method和ITestContext

 

 

 

 

 

posted @ 2022-06-09 00:02  低手寂寞  阅读(59)  评论(0)    收藏  举报