2013-10-06 7 views
3

4 개의 @Test 메소드가 있으며 각 메소드를 3 번 ​​실행하려고합니다. 12 개의 스레드에서이 모든 것을 동시에 실행하고 싶습니다. I가가 다음 Test2를위한 동일한 않고 이후 TestNG를가 Test1을 4 개 스레드 4 개 테스트 메소드를 실행하는 병렬 = "방법"을 설정하면 TestNG 병렬 실행

는 I이

<suite name="Suite1" verbose="1" parallel="methods" thread-count="100"> 

    <test name="Test1"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

    <test name="Test2"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

    <test name="Test3"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

</suite> 

같은 testng.xml 파일을 만들었 Test3. 하지만 Test2를 실행하기 전에 Test1 완료를 기다리는 것을 원하지 않습니다. TestNG는 Test1, Test2 & Test3을 동시에 실행할 수 있지만 (parallel = "tests"인 경우),이 경우 각 테스트마다 4 개의 테스트 메소드를 차례로 실행합니다.

TestNG에게 대기하지 않고 별도의 스레드에서 모든 테스트에 대한 모든 메소드를 시작하는 방법이 있습니까?

답변

1

스위트에서 병렬 테스트를 실행 한 다음 각 테스트에서 병렬 메소드를 실행할 수 있습니다. 예 :

<suite name="Suite1" verbose="1" parallel="tests" thread-count="10"> 

    <test name="Test1" parallel="methods" thread-count="4"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

    <test name="Test2" parallel="methods" thread-count="4"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

    <test name="Test3" parallel="methods" thread-count="4"> 
    <classes> 
     <class name="Tests"/> 
    </classes> 
    </test> 

</suite> 
+0

주석 구성으로 동일한 예를 표시 할 수 있습니까? – sh977218

0

동일한 테스트 인 경우 invocationCount 및 threadpoolsize를 사용할 수 있습니다. @Test 주석에서 invocationCount = 3 및 threadPoolsize를 3으로 추가하십시오. testng.xml에서 3 대신에 하나의 테스트 만 작성하고 parallel = methods 및 thread-count = 4로 설정하십시오.

희망이 있습니다. 이 사용

0

시도 :이 도움이

<suite name="suite" parallel="methods" thread-count="20"> 

희망.