我编写了几个测试类来使用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命令开始运行第二个测试类。
任何人都可以帮我这么做吗?我非常感谢你的帮助。
答案 0 :(得分:1)
只需在xml中添加一个parallel =“false”属性,如下所示:
<test name="generalTest" parallel="false">
答案 1 :(得分:0)
我解决了这个问题! :) 我已经在所有测试类上放置了相同的优先级范围。 例如:在每个测试类中,我都设置了优先级1。 然后它尝试同时运行优先级为1的测试用例。
修正:
根据我们整个运行测试套件所需的顺序,在每个测试类中使用不同的优先级范围。 例如:因为我需要运行第一个测试类,然后在完成后再运行第二个测试类, 我为第一个测试类设置了优先级范围1到50,并且