并行运行 TestNG QAF BDD 测试
Posted
技术标签:
【中文标题】并行运行 TestNG QAF BDD 测试【英文标题】:Running TestNG QAF BDD tests in Parallel 【发布时间】:2021-03-15 18:56:18 【问题描述】:如何使用 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>
提前致谢。
【问题讨论】:
【参考方案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"
,这就是为什么它无法提供多个线程用于并行执行!
【讨论】:
非常感谢 user861594。我能够并行运行测试。在 #2 中,我实际上在代码中添加了“thread-count=5”,但这里是错字。以上是关于并行运行 TestNG QAF BDD 测试的主要内容,如果未能解决你的问题,请参考以下文章
如何在并行 JVM 进程(不是线程)中运行 TestNG 测试