TestNG笔记(三):testng.xml 配置文件

TestNG提供的annotaions用来辅助定义测试类。
TestNG的testng.xml配置文件用来辅助定义执行什么样的测试,即testng.xml更像是一个测试规划。
testng.xml配置文件的元数据引用http://testng.org/testng-1.0.dtd,其中定义了testng.xml中的元素、属性和顺序等。

1. 运行TestNG测试脚本有两种方式:

  • IDEA 直接运行
  • 从命令行运行

2. 创建testng.xml文件

IDEA能直接创建testng.xml文件


image.png

3. 也可以手动创建

  1. 首先声明一个suite的名字,用于描述脚本要运行的脚本测试集,可以根据自己需要命名,最终可以在测试报告中看到自己的命名。

4. testng.xml文件结构



skip" annotations="javadoc" time-out="10000" skipfailedinvocationcounts="true" data-provider-thread-count="5" object-factory="classname" allow-return-values="true">  
    
          
        
      
      
    
    
        
             
              
        
    
     
          
        
        
             
                  
                
            
            
                  
                  
            
            
                 
                
            
        
        
             
                
                    
                    
                    
                
                
            
          
        
              
            
                
                
            
        
        
              
            
        
    
    
 

5. testng.xml文件节点属性说明

suite属性说明:
@name: suite的名称,必须参数
@junit:是否以Junit模式运行,可选值(true | false),默认"false"
@verbose:命令行信息打印等级,不会影响测试报告输出内容;可选值(1|2|3|4|5)
@parallel:是否多线程并发运行测试;可选值(false | methods | tests | classes | instances),默认 "false"
@thread-count:当为并发执行时的线程池数量,默认为"5"
@configfailurepolicy:一旦Before/After Class/Methods这些方法失败后,是继续执行测试还是跳过测试;可选值 (skip | continue),默认"skip"
@annotations:获取注解的位置,如果为"javadoc", 则使用javadoc注解,否则使用jdk注解
@time-out:为具体执行单元设定一个超时时间,具体参照parallel的执行单元设置;单位为毫秒
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@data-provider-thread-count:并发执行时data-provider的线程池数量,默认为"10"
@object-factory:一个实现IObjectFactory接口的类,用来实例测试对象
@allow-return-values:是否允许返回函数值,可选值(true | false),默认"false"
@preserve-order:顺序执行开关,可选值(true | false) "true"
@group-by-instances:是否按实例分组,可选值(true | false) "false"

test属性说明:
@name:test的名字,必选参数;测试报告中会有体现
@junit:是否以Junit模式运行,可选值(true | false),默认"false"
@verbose:命令行信息打印等级,不会影响测试报告输出内容;可选值(1|2|3|4|5)
@parallel:是否多线程并发运行测试;可选值(false | methods | tests | classes | instances),默认 "false"
@thread-count:当为并发执行时的线程池数量,默认为"5"
@annotations:获取注解的位置,如果为"javadoc", 则使用javadoc注解,否则使用jdk5注解
@time-out:为具体执行单元设定一个超时时间,具体参照parallel的执行单元设置;单位为毫秒
@enabled:设置当前test是否生效,可选值(true | false),默认"true"
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@preserve-order:顺序执行开关,可选值(true | false) "true"
@group-by-instances:是否按实例分组,可选值(true | false) "false"
@allow-return-values:是否允许返回函数值,可选值(true | false),默认"false"

6. 在maven的pom.xml文件配置testng.xml

需要在pom文件中,指明testng.xml文件的位置。
maven使用surefire这个插件进行测试,可以执行testng或者Junit脚本。
在pom.xml文件中添加

//填写testng.xml文件的路径,如果该文件在根目录下,则直接填写文件名
../${testNgFileName}.xml 
image.png

在IDEA控制台Terminal输入

mvn -f pom.xml clean test  -DxmlFileName=testng.xml  //最后输入你的testng.xml文件名

执行结束之后会在target文件夹中生成surefire-reports文件夹,文件夹内找到你给suite配置的name同名的文件夹,里面会包含html和xml两种格式的报告。


image.png

image.png

参考文档:
https://www.cnblogs.com/superbaby11/p/6400400.html
https://blog.csdn.net/taiyangdao/article/details/52136857

你可能感兴趣的:(TestNG笔记(三):testng.xml 配置文件)