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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-10 01:25:58  来源:igfitidea点击:

Configure parallel execution of tests and classes in testng.xml

multithreadingseleniumwebdrivertestng

提问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

如果你想执行

  1. tests in parallel then use = parallel="tests"
  2. classes in parallel then use = parallel="classes"
  3. Methods in parallel then use = parallel="methods"
  1. 并行测试然后使用 = parallel="tests"
  2. 并行类然后使用 = parallel="classes"
  3. 并行的方法然后使用 = parallel="methods"