0

我有一个关于 testNG 的问题。我有五类测试(a 类、b 类、c 类、d 类、e 类),并且在每个 3 类测试中(test1 test2 test3)问题是我 @Test(groups = {"smokeTest"}, enabled = true, priority = 1)在所有测试中都有 @Test(groups = {"smokeTest"}, enabled = true, priority = 1) - a 类 - a @Test(groups = {"smokeTest"}, enabled = true, priority = 2)@Test(groups = {"smokeTest"}, enabled = true, priority = 3) - 类一个

@Test(groups = {"smokeTest"}, enabled = true, priority = 1) - B @Test(groups = {"smokeTest"}, enabled = true, priority = 2)@Test(groups = {"smokeTest"}, enabled = true, priority = 3) - B 级 - B 级

@Test(groups = {"smokeTest"}, enabled = true, priority = 1) - C @Test(groups = {"smokeTest"}, enabled = true, priority = 2)@Test(groups = {"smokeTest"}, enabled = true, priority = 3) - C 级 - C 级

@Test(groups = {"smokeTest"}, enabled = true, priority = 1) - d @Test(groups = {"smokeTest"}, enabled = true, priority = 2)@Test(groups = {"smokeTest"}, enabled = true, priority = 3) - d 级 - d 级

@Test(groups = {"smokeTest"}, enabled = true, priority = 1) - e @Test(groups = {"smokeTest"}, enabled = true, priority = 2)@Test(groups = {"smokeTest"}, enabled = true, priority = 3) - e 级 - e 级

当我逐类手动运行时,一切正常。但是,当我尝试让 testng 这样做时,他正在并行运行,并根据测试的优先级在类之间跳转,并且没有完成类本身。Class a test1 class b test1 .......我让 testng 以这种方式运行。这是我的xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite allow-return-values="true" name="sanitySuite" parallel="false" thread-count="1" verbose="1" >
    <test name="smoke"  preserve-order="true" >
        <parameter name="userName" value="selmadmin@gmail.com"/>
        <parameter name="password" value="bbb"/>
        <groups>
            <run>
                <include name="smokeTest"/>
             </run>
        </groups>

        <packages>
            <package name =".*"/>
        </packages>
        <classes>
            <class name="tests.classA"></class>
            <class name="tests.classB"></class>
            <class name="tests.classC"></class>
            <class name="tests.classD"></class>
            <class name="tests.classE"></class>
        </classes>
    </test>

    <!--<test name="jkljlkj">-->
        <!--<packages>-->
            <!--<package name=".*"/>-->
        <!--</packages>-->
    <!--</test>-->
</suite>
4

1 回答 1

0

添加 group-by-instances="true" 和 parallel="none" 后,它解决了

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite allow-return-values="true" name="sanitySuite" parallel="none" thread-count="1" verbose="1" >
    <test name="Role page"  preserve-order="true" group-by-instances="true">
        <parameter name="userName" value="selmadmin@gmail.com"/>
        <parameter name="password" value="bbb"/>
        <groups>
            <run>
                <include name="smokeTest"/>
             </run>
        </groups>

        <packages>
            <package name =".*"/>
        </packages>
        <classes>
            <class name="tests.classA"></class>
            <class name="tests.classB"></class>
            <class name="tests.classC"></class>
            <class name="tests.classD"></class>
            <class name="tests.classE"></class>
        </classes>
    </test>

    <!--<test name="Regression1">-->
        <!--<packages>-->
            <!--<package name=".*"/>-->
        <!--</packages>-->
    <!--</test>-->
</suite>
于 2020-06-18T18:19:28.467 回答