TestNG并行测试运行

时间:2018-01-11 22:06:09

标签: testng

我正在尝试与TestNG并行运行示例测试项目。 但它正在一个线程中按顺序执行。我错过了什么吗?

我在套件标签中设置了parallel =“tests”thread-count =“2”属性。

非常感谢任何帮助。

Java类:

public class ParallelSuiteTest {
    String testName = "";
    @BeforeTest
    @Parameters({ "test-name" })
    public void beforeTest(String testName) {
        this.testName = testName;
        long id = Thread.currentThread().getId();
        System.out.println("Before test " + testName + ". Thread id is: " + id);
    }

    @BeforeClass
    public void beforeClass() {
        long id = Thread.currentThread().getId();
        System.out.println("Before test-class " + testName + ". Thread id is: "
                + id);
    }

    @Test
    public void testMethodOne() {
        long id = Thread.currentThread().getId();
        System.out.println("Sample test-method " + testName
                + ". Thread id is: " + id);
    }

    @AfterClass
    public void afterClass() {
        long id = Thread.currentThread().getId();
        System.out.println("After test-method  " + testName
                + ". Thread id is: " + id);
    }

    @AfterTest
    public void afterTest() {
        long id = Thread.currentThread().getId();
        System.out.println("After test  " + testName + ". Thread id is: " + id);
    }
}

Testng XML:

<suite name="Test-class Suite" parallel="tests" thread-count="2">
    <test name="Test-class test 1">
        <parameter name="test-name" value="test-method One" />
        <classes>
            <class name="ParallelSuiteTest" />
        </classes>
    </test>
    <test name="Test-class test 2">
        <parameter name="test-name" value="test-method Two" />
        <classes>
            <class name="ParallelSuiteTest" />
        </classes>
    </test>
</suite>

输出:

.Before test test-method One. Thread id is: 1
Before test-class test-method One. Thread id is: 1
Sample test-method test-method One. Thread id is: 1
After test-method  test-method One. Thread id is: 1
After test  test-method One. Thread id is: 1
Before test test-method One. Thread id is: 1
Before test-class test-method One. Thread id is: 1
Sample test-method test-method One. Thread id is: 1
After test-method  test-method One. Thread id is: 1
After test  test-method One. Thread id is: 1

===============================================
Test-class Suite
Total tests run: 2, Failures: 0, Skips: 0
===============================================

感谢。

1 个答案:

答案 0 :(得分:2)

好的。在调查了这个问题之后,我发现这是TestNG库版本6.13中引入的回归。以下是该问题的链接:https://github.com/cbeust/testng/issues/1636

将TestNG版本更改为6.11解决了这个问题。