これは私の最初の質問です。喜んでお手伝いさせていただきます。
私はフレームワークの一部として TestNG を長い間使用してきました。今日の質問は、testng.xml の構成に関するものです。テストを並行して実行しないようにするためです。いいえ、私のテストはどれも依存しておらず、すべて独立しています。しかし、これは私の要件です。
私のtestng.xmlファイルは次のようになります。
<suite name="Smoke Test Suite" verbose="3" parallel="tests" thread-count="2">
<test name="Run on Firefox" preserve-order="true">
<parameter name="browser" value="firefox"/>
<classes>
<class name="com.test1"/>
<class name="com.test2"/>
<class name="com.test3"/>
<class name="com.test4"/>
</classes>
</test>
<test name="Run on IE9" preserve-order="true">
<parameter name="browser" value="iexplore"/>
<classes>
<class name="com.test1"/>
<class name="com.test2"/>
<class name="com.test3"/>
<class name="com.test4"/>
</classes>
</test>
<test name="Run on Google Chrome" preserve-order="true">
<parameter name="browser" value="chrome"/>
<classes>
<class name="com.test1"/>
<class name="com.test2"/>
<class name="com.test3"/>
<class name="com.test4"/>
</classes>
</test>
テストを並行して実行したいのですが、クラスは次々に実行します。私が現在見ているのは、テストが開始されたときに、FF、IE9、および Chrome の 8 つのインスタンスが開いていることです。「test1」が実行され、ブラウザが閉じられ、新しいインスタンスが開かれ、「test2」が実行されるように設定するにはどうすればよいですか?
これを行う必要があるのは、各テスト中にアプリで複数のウィンドウが開かれているためです。そして IE9 (悪意のあるブラウザーである) は状況を処理する方法を知らず、パニックに陥り、テストの途中でウィンドウにフォーカスを失います。提案されており、私も同じことを発見しました.IE9のインスタンスを1つ実行し、他に中断するものは何もないのが最善です。
提案と解決策は、感謝して受け入れられます。
注: すべてのクラスは同じパッケージに含まれています。
ありがとう - アリスター