multithreading 在 testng.xml 中配置测试和类的并行执行
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/24216163/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Configure parallel execution of tests and classes in testng.xml
提问by Vel Ganesh
My testng.xml is as given below:
我的 testng.xml 如下所示:
<suite name="Automation Suite" allow-return-values="true" verbose="1" parallel="tests" thread-count="2">
<test name="Login Test cases 01">
<parameter name="Operating_System" value="Windows 8"/>
<parameter name="Browser_Name" value="Internet Explorer"/>
<parameter name="Browser_Version" value="11"/>
<parameter name="Base_URL" value="https://www.google.com"/>
<classes>
<class name="com.automation.tool.Automation_01"/>
<class name="com.automation.tool.Automation_02"/>
</classes>
</test>
<test name="Login Test cases 02">
<parameter name="Operating_System" value="Windows XP"/>
<parameter name="Browser_Name" value="Mozilla Firefox"/>
<parameter name="Browser_Version" value="27"/>
<parameter name="Base_URL" value="https://www.google.com"/>
<classes>
<class name="com.automation.tool.Automation_01"/>
<class name="com.automation.tool.Automation_02"/>
</classes>
</test>
</suite>
Currently the tests are getting executed in parallel. But I wish to execute the classes also in parallel as below:
目前,测试正在并行执行。但我希望也并行执行这些类,如下所示:
Thread 01 : Test 01 Class 01
Thread 02 : Test 01 Class 02
Thread 03 : Test 02 Class 01
Thread 04 : Test 02 Class 02
Thread 01 : Test 01 Class 01
Thread 02 : Test 01 Class 02
Thread 03 : Test 02 Class 01
Thread 04 : Test 02 Class 02
Please let me know, how to configure this setup.
请让我知道如何配置此设置。
回答by Vel Ganesh
Got it now...
现在明白了...
<suite name="Automation Suite" allow-return-values="true" verbose="1" parallel="tests" thread-count="2">
<test name="Login Test cases 01" parallel="classes" thread-count="2">
<parameter name="Operating_System" value="Windows 8"/>
<parameter name="Browser_Name" value="Internet Explorer"/>
<parameter name="Browser_Version" value="11"/>
<parameter name="Base_URL" value="https://www.google.com"/>
<classes>
<class name="com.automation.tool.Automation_01"/>
<class name="com.automation.tool.Automation_02"/>
</classes>
</test>
<test name="Login Test cases 02" parallel="classes" thread-count="2">
<parameter name="Operating_System" value="Windows XP"/>
<parameter name="Browser_Name" value="Mozilla Firefox"/>
<parameter name="Browser_Version" value="27"/>
<parameter name="Base_URL" value="https://www.google.com"/>
<classes>
<class name="com.automation.tool.Automation_01"/>
<class name="com.automation.tool.Automation_02"/>
</classes>
</test>
</suite>
回答by vaibhav agrawal
In suite tag change the "parallel" attribute value from "tests" to "classes" for example:
在套件标记中,将“parallel”属性值从“tests”更改为“classes”,例如:
If you wish to execute
如果你想执行
- tests in parallel then use = parallel="tests"
- classes in parallel then use = parallel="classes"
- Methods in parallel then use = parallel="methods"
- 并行测试然后使用 = parallel="tests"
- 并行类然后使用 = parallel="classes"
- 并行的方法然后使用 = parallel="methods"