0

我已经编写了几个测试类来使用 testng 测试 Web 应用程序。每个测试类都是独立的。(我使用 Java、maven 和 selenium webdriver)

我在 testng.xml 中定义了我的测试类和测试组,如下所示。

<test name="generalTest">
        <groups>
            <run>
                <include name="login"  />
                <include name="signUp"  />
                <include name="profileCreation"  />

            </run>
        </groups>

        <classes>
            <class name="my.test.Test_1_LoginTestCases"/>
            <class name="my.test.Test_2_SignUpTestCases"/>
            <class name="my.test.Test_3_CreatePeopleProfileTestCases"/>

        </classes>
    </test>

我在命令行中运行这个命令来运行测试类。

mvn test -DsuiteXmlFile=/src/testng.xml -Dgroups=login,signUp,profileCreation

我已经使用 testng “priority” 标签来定义在测试类中运行测试用例的顺序。

但问题是当我使用上述命令运行 testng.xml 时,它会同时(并行)运行所有测试类。如果有 10 个测试类,那么它会同时打开 10 个 Web 浏览器实例并尝试同时运行每个测试类。

我需要的是运行第一个测试类,当它完成时,然后使用上面的 maven 命令开始运行第二个测试类。

谁能帮我做到这一点?我真的很感激帮助。

4

2 回答 2

2

只需在您的 xml 中添加一个属性 parallel="false",如下所示:

<test name="generalTest" parallel="false">
于 2012-11-20T04:59:13.760 回答
0

我解决了这个问题!:) 我在所有测试类上都设置了相同的优先级范围。例如:在每个测试类中,我都设置了优先级 1。然后它尝试同时运行优先级 1 的测试用例。

使固定:

根据我们需要作为一个整体运行测试套件的顺序,在每个测试类中使用不同的优先级范围。例如:由于我需要运行第一个测试类并在完成后运行第二个测试类,因此我将第一个测试类的优先级范围设置为 1 到 50,然后

于 2012-11-21T05:23:50.190 回答