2

如何使用 TestNG 在一个文件夹中并行运行所有 Qmerty 测试,我的配置 XML 如下所示,但是resources/scenarios/smoketests文件夹中的测试没有并行运行

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite"  thread-count="5" verbose="1" parallel="tests">
    <listeners>
        <listener class-name="com.mycompany.project.BDD.listeners.BDDListener"></listener>
    </listeners>
    <test name="All Smoke Tests">
        <parameter name="scenario.file.loc" value="resources/scenarios/smoketests" />
        <parameter name="step.provider.pkg" value="com.mycompany.project.BDD" />
        <classes>
            <class name="com.qmetry.qaf.automation.step.client.text.BDDTestFactory2" />
        </classes>
    </test>
</suite>

但在 XML 下面并行运行测试,但我不想每次我的团队添加新测试时都在这个文件中添加测试

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite"  thread-count="5" verbose="1">
<listeners>
    <listener class-name="com.mycompany.project.BDD.listeners.BDDListener"></listener>
</listeners>
<test name="Smoke-Test-1">
    <parameter name="scenario.file.loc" value="resources/scenarios/smoketests/login.feature" />
    <parameter name="step.provider.pkg" value="com.mycompany.project.BDD" />
    <classes>
        <class name="com.qmetry.qaf.automation.step.client.text.BDDTestFactory2" />
    </classes>
</test>
<test name="Smoke-Test-2">
    <parameter name="scenario.file.loc" value="resources/bdd/scenarios/smoketests/logout.feature" />
    <parameter name="step.provider.pkg" value="com.mycompany.project.BDD" />
    <classes>
        <class name="com.qmetry.qaf.automation.step.client.text.BDDTestFactory2" />
    </classes>
</test>
</suite>

提前致谢。

4

1 回答 1

1

从您提供的配置文件中:在#1中,您需要使用parallel="methods"而不是parallel="tests"或添加parallel="methods"测试节点。

例如:

<suite name="Suite"  thread-count="5" verbose="1" parallel="methods">
   <test name="Smoke-Test-1">

或者

<suite name="Suite"  thread-count="5" verbose="1">
   <test name="Smoke-Test-1" parallel="methods">

在 #2 中,您提供了thread-count="1"这就是为什么它无法使多个线程可用于并行执行!

于 2020-12-03T21:19:42.547 回答