zoukankan      html  css  js  c++  java
  • testng.xml文件配置

    TestNG的DTD检查文件:http://testng.org/testng-1.0.dtd.php

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <!--suite(测试套件)为根路径,仅允许出现1次,是多个test(测试用例)的集合,以下为各属性含义及取值
        @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", 则使用javadoc注解,否则使用jdk注解
        @time-out 为具体执行单元设定一个超时时间,具体参照parallel的执行单元设置;单位为毫秒
        @skipfailedinvocationcounts 是否跳过失败的调用,可选值(true | false),默认"false"
        @data-provider-thread-count 并发执行时data-provider的线程池数量,默认为"10"
        @object-factory 一个实现IObjectFactory接口的类,用来实例测试对象
        @allow-return-values="true" 是否允许返回函数值,可选值(true | false),默认"false"
        @preserve-order:顺序执行开关,可选值(true | false) "true"
        @group-by-instances:是否按实例分组,可选值(true | false) "false"
        @guice-stage 支持使用JSR-330的​@Inject注解​来配置运行时提供的实例
        @parent-module 和Guice框架有关,只运行一次,创建一个parent injector给所有guice injectors
        -->
    <suite name="suitename" junit="false" verbose="3" parallel="false" thread-count="5" configfailurepolicy="skip"
           annotations="javadoc" time-out="10000" skipfailedinvocationcounts="true" data-provider-thread-count="5"
           object-factory="classname" allow-return-values="true" preserve-order="true" group-by-instances="false">
    
        <!--可以执行多个suite,@path 必填,欲引用的suitefile的绝对路径-->
        <suite-files>
            <suite-file path="/path/to/suitefile1"></suite-file>
        </suite-files>
        <!--全局参数,@name和@value必填,分别为参数名和参数值-->
        <parameter name="par1" value="value1"></parameter>
        <parameter name="par2" value="value2"></parameter>
    
        <!--方法选择器,在suite/test中增加需要额外执行的类(根据父标签而定),及安排执行优先级-->
        <method-selectors>
            <method-selector>
                <!--
                    @name 必填
                    @priority 选填
                    -->
                <selector-class name="classname" priority="1"></selector-class>
                <!--
                    @language 必填
                    -->
                <script language="java"></script>
            </method-selector>
        </method-selectors>
    
        <!--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"
            -->
        <test name="testename" junit="false" verbose="3" parallel="false" thread-count="5" annotations="javadoc"
              time-out="10000" enabled="true" skipfailedinvocationcounts="true" preserve-order="true"
              allow-return-values="true">
            <!--局部参数,@name和@value必填,分别为参数名和参数值,如果参数名与全局参数一致,则覆盖全局参数取值-->
            <parameter name="par1" value="value1"></parameter>
            <parameter name="par2" value="value2"></parameter>
            <!--搭配class使用,执行class内指定组-->
            <groups>
                <!--定义执行组名,在run中使用
                    @name 必填,组中组的名称
                -->
                <define name="xxx">
                    <!--定义包含的测试组,测试方法属于哪个测试组在测试代码注释中定义。
                        @name 必填,需要包含进组中组的组名
                        @description 选填,关于组的描述
                        @invocation-numbers 选填,执行次序或者执行次数——TODO
                        -->
                    <include name="" description="" invocation-numbers=""/>
                    <include name="" description="" invocation-numbers=""/>
                </define>
                <!--运行组中组的配置-->
                <run>
                    <!--执行指定的组中组,@name必填,与define name一致-->
                    <include name=""/>
                    <!--排除指定的组中组,@name必填,与define name一致-->
                    <exclude name=""/>
                </run>
                <!--组中组的依赖配置-->
                <dependencies>
                    <!--配置依赖
                        @name 必填,需要依赖其他组的组名,define中设置
                        @depends-on 必填,被依赖的组名,define中设置,可以有多个,用空格隔开
                        -->
                    <group name="" depends-on=""></group>
                    <group name="" depends-on=""></group>
                </dependencies>
            </groups>
            <!--配置要执行的类,是多个class的集合-->
            <classes>
                <!--局部参数,@name和@value必填,分别为参数名和参数值,如果参数名与全局参数和父标签的局部参数一致,则覆盖全局参数和父标签的局部参数取值-->
                <parameter name="par1" value="value1"></parameter>
                <parameter name="par2" value="value2"></parameter>
                <!--多个methods的集合,@name 必填,对应class的名称,如com.example.autotest.testcase-->
                <class name="classname">
                    <!--要执行的方法,如为空,则执行整个class内包含的全部方法-->
                    <methods>
                        <!--局部参数,@name和@value必填,分别为参数名和参数值,如果参数名与全局参数和父标签的局部参数一致,则覆盖全局参数和父标签的局部参数取值-->
                        <parameter name="par3" value="value3"></parameter>
                        <!--类内要执行的测试方法名,在测试代码注释中配置,如设置inclde,则只执行该方法,其他跳过
                            @name 必填,执行方法名
                            @description 选填,方法描述
                            @invocation-number 选填,宣发执行顺序或执行次数——TODO
                            -->
                        <include name="" description="" invocation-numbers=""></include>
                        <!--除了该方法外,类内其他方法都执行,@name 必填,不执行的方法名-->
                        <exclude name=""></exclude>
                    </methods>
                    <methods></methods>
                </class>
            </classes>
            <!--可以执行指定包下面所有类,是多个package的汇聚-->
            <packages>
                <!--配置要执行的包,@name 必填,要执行的package名,如com.example.autotest-->
                <package name="">
                    <!--包内要执行的测试方法名,在测试代码注释中配置,如设置inclde,则只执行该方法,其他跳过
                        @name 必填,执行方法名
                        @description 选填,方法描述
                        @invocation-number 选填,宣发执行顺序或执行次数——TODO
                        -->
                    <include name="" description="" invocation-numbers=""></include>
                    <!--除了该方法外,包内其他方法都执行,name 必填,不执行的方法名-->
                    <exclude name=""></exclude>
                </package>
            </packages>
        </test>
        <!--设置监听的类名,可设置多个,class-name 必填,类名,如com.example.autotest.Listener-->
        <listeners>
            <listener class-name="classname1"/>
            <listener class-name="classname2"/>
        </listeners>
    </suite>

    转载至:https://testerhome.com/topics/10093

  • 相关阅读:
    用 ArcMap 发布 ArcGIS Server FeatureServer Feature Access 服务 PostgreSQL 版本
    ArcMap 发布 ArcGIS Server OGC(WMSServer,MapServer)服务
    ArcScene 创建三维模型数据
    ArcMap 导入自定义样式Symbols
    ArcMap 导入 CGCS2000 线段数据
    ArcMap 导入 CGCS2000 点坐标数据
    ArcGis Server manager 忘记用户名和密码
    The view or its master was not found or no view engine supports the searched locations
    python小记(3)操作文件
    pytest(2) pytest与unittest的区别
  • 原文地址:https://www.cnblogs.com/MrG-blogs/p/8341756.html
Copyright © 2011-2022 走看看