在testNg中排除测试

时间:2017-02-15 06:47:50

标签: testng

我有以下testNg XML文件。我想运行Test1而不是Test2。我该怎么做?我尝试使用“exclude”关键字排除Test2的方法。但它似乎不起作用。我无法更改实际代码。不幸的是,这是被禁止的。我所能做的就是对这个XML进行更改并运行测试。有没有什么方法可以忽略Test2,同时还能运行Test1?我正在寻找比评论代码更优雅的方式。

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="false">
<parameter name="xxx" value="yyy" />
<parameter name="zzz" value="aaa" />
<parameter name="user" value="1" />

<test name="Test1">
    <parameter name="browser" value="Chrome" />
    <define name = "regression">
            <include name = "spot" />
            <include name = "sanity" />
        </define>
    <groups>
        <run>
            <include name="regression" />
        </run>
    </groups>
        <classes>
            <class name="class2" />
            <method>
                <include name="method1" />
                <include name="method2" />
            </method> 
        </classes>
</test>

<test name="Test2">
    <parameter name="browser" value="Firefox" />
        <define name = "regression">
            <include name = "spot" />
            <include name = "sanity" />
        </define>
    <groups>
        <run>
            <include name="spot" />
            <exclude name="sanity" />
        </run>
    </groups>
        <classes>
            <class name="class2" />
            <method>
                <include name="method1" />
                <include name="method2" />
            </method> 
        </classes>
</test>



</suite>  <!-- Suite -->

2 个答案:

答案 0 :(得分:1)

在test2中,将include替换为在所有字段中排除

通过这样做,您将从代码中排除这些字段或方法

答案 1 :(得分:0)

如果您不想运行<test name="Test2">,请将其从套件中移除。

xml套件文件背后的想法是定义一个运行。 看起来你有很多运行定义,所以你应该有很多套件文件。 如果您想在套件文件之间共享内容,可以使用<suite-file>,例如&#34; import&#34;:http://testng.org/testng-1.0.dtd.php

  

测试1-suite.xml

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="false">
    <parameter name="xxx" value="yyy" />
    <parameter name="zzz" value="aaa" />
    <parameter name="user" value="1" />

    <test name="Test1">
        <parameter name="browser" value="Chrome" />
        <define name = "regression">
            <include name = "spot" />
            <include name = "sanity" />
        </define>
        <groups>
            <run>
                <include name="regression" />
            </run>
        </groups>
        <classes>
            <class name="class2" />
            <method>
                <include name="method1" />
                <include name="method2" />
            </method> 
        </classes>
    </test>
</suite>
  

两者 - suite.xml

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="false">
    <suite-files>
        <suite-file>Test1-suite.xml</suite-file>
    </suite-files>
    <test name="Test2">
        <parameter name="browser" value="Firefox" />
            <define name = "regression">
                <include name = "spot" />
                <include name = "sanity" />
            </define>
        <groups>
            <run>
                <include name="spot" />
                <exclude name="sanity" />
            </run>
        </groups>
        <classes>
            <class name="class2" />
            <method>
                <include name="method1" />
                <include name="method2" />
            </method> 
        </classes>
    </test>
</suite>