2016-06-17 7 views
1

私は、あるクラスの下で特定のテストメソッドを動的に実行する必要があるユースケースを持っています。testngでのクラスとメソッドの並列化

私はこれらのテストクラスを動的に生成するために@factory注釈を使用しています。

私はすでに述べたクラスの下でテストメソッドを並列に実行しています。

テストクラスとテストメソッドを両方とも並列にするにはどうすればよいですか?とにかくそれをやることはありますか?

pubic class FactoryClass{ 

    @Factory 
    public Object[] factoryMethod(){ 
     return new Object[]{new TestClass(), new TestClass()} 
    } 
} 

public class TestClass{ 

    @DataProvider(name="firstDataProvider", parallel=true) 
    public Object[] firstDataProvider(){ 
     return new Object[]{}; 
    } 

    @DataProvider(name="secondDataProvider", parallel=true) 
    public Object[] secondDataProvider(){ 
     return new Object[]{}; 
    } 

    @Test(dataProvider="firstDataProvider") 
    public void firstTestMethod(String arg){ 

    } 

    @Test(dataProvider="secondDataProvider") 
    public void secondTestMethod(String arg){ 

    } 
} 

後のtest.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="Suite1" parallel="methods" data-provider-thread-count="60"> 
    <test name="test1"> 
     <classes> 
      <class name="com.amriteya.test.FactoryMain"></class>  
     </classes> 
    </test> 
</suite> 

は私のクラスのレイアウトです。

test.xml私はparallel = "methods"を設定していますが、私には適切な出力はありません。

+0

提供される出力は何ですか?また、期待される出力は何ですか? – juherr

+0

提供された出力では、2つのクラスのマイデータは独立しておらず、どちらも同じデータを使用しています。異なるデータが同じデータを使用しているはずの異なるクラスのメソッドです。 – Amriteya

答えて

2

テストメソッドとテストクラスの両方にパラレルプロパティを設定することはできません。明確にするのTestNG XMLの例ここでは、あなたがスイートのレベルと試験レベルでの並列クラス/メソッドにパラレルテストを設定する必要があるようです:

<suite name="Suite1" parallel="tests"> 
    <test name="test1" parallel="methods"> 
     <classes> 
      <class name="FactoryClass"/> 
     </classes> 
    </test> 
    <test name="test2" parallel="methods"> 
     <classes> 
      <class name="FactoryClass"/> 
     </classes> 
    </test> 
</suite> 

すべてのメソッドは、独自のスレッドで実行されます。 このケースは、たとえば複数のブラウザグループでテストを並行して実行する場合に便利です。スイートレベルのパラレルオプションでは、たとえば、 2つのブラウザのプール(ChromeとFirefox - テストに適切なパラメータを渡します)、テストレベルのparellelオプションはプールにいくつのブラウザがあるかを定義します。

関連する問題