9

TestNG+Selenium を使用すると、クラスの実行順序を確認できません。以下 (testng.xml 内) で指定された順序が機能しません -> ClassTwo が最初に実行され、次に ClassOne が実行されます。

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="ABC" parallel="">
  <test verbose="2" name="xyz" annotations="JDK" preserve-order="true">
    <classes>
      <class name="script.ClassOne"/>
      <class name="script.ClassTwo"/>
    </classes>
  </test>
</suite>

TestNG.xml で指定された順序が確実に保持されるようにするにはどうすればよいですか?

4

5 に答える 5

6

TestNGのドキュメントによると:

デフォルトでは、TestNG は XML ファイルで見つかった順序でテストを実行します。このファイルにリストされているクラスとメソッドを予測できない順序で実行する場合は、preserve-order 属性を false に設定します。

preserve-orderデフォルトで設定されているため、属性を除外することをお勧めします。

ただし、テスト メソッド/クラスに特定の順序を強制するには、他に 2 つのオプションがあります。

  1. プログラムでテストを呼び出します。
  2. テストのリストを並べ替えるメソッド インターセプターを実装します。
于 2012-06-14T11:47:12.733 に答える
0

@Test( dependsOnGroups= { "dummyGroupToMakeTestNGTreatThisAsDependentClass" } )クラスで試してみましたか?

このスレッドを参照してください: TestNG & Selenium: テストを「グループ」に分割し、各グループ内で順番に実行します

お役に立てれば!

于 2012-06-15T00:53:22.130 に答える