首页 文章

TestNG并行测试运行

提问于
浏览
1

我正在尝试与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 回答

  • 2

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

    将TestNG版本更改为6.11解决了该问题 .

相关问题