ストーリー:そこで、TestNG を使用して WebDriver2 テスト スイートを実行しており、それらすべてが Maven アーキテクチャにバンドルされています。最初に Eclipse プロジェクトですべてをビルドしてから、これを Maven プロジェクトに変換しました。私はプログラマーではありませんが、Java をハックすることができます。Maven は初めてですが、TestNG と Selenium はかなり得意です。調査したすべてのことから、これに正しくアプローチしています。
問題: Maven プラグインを使用して Eclipse でこれをすべて実行しています。POM を TEST として実行すると、エラーが発生します。
org.testng.TestNGException: Parameter 'dataMode' is required by @Configuration of method prepareDriver but has not been marked @Optional or defined
したがって、SureFireがファイルを取得するためのPOMセットアップ、testNG依存関係も設定され、エラーがTestNG自体から来ているため、機能しているように見えます。
<plugins>
[...]
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src\test\resources\testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
[...]
</plugins>
このプラグインにもパラメーターを渡しました。
<systemPropertyVariables>
<dataMode>Custom</dataMode>
</systemPropertyVariables>
<systemPropertyVariables>
<log_level>DEBUG</log_level>
</systemPropertyVariables>
TestNG ファイルのすべてが正しいです。testng.xml から TestNG テストとして実行すると、すべてが想定どおりに実行されます。そのコードが必要な場合は更新しますが、その部分は機能します。パラメーターは正しくそこにあります。
また、POM を TEST として実行すると、11 個のテストのうち 2 個が失敗したというレポートが表示されます... 11 個のテストはありません。私のテストスイートのこの部分にあるすべての TestNG アノテーションを数えていると思います...
私の理論では、TestNG ファイルなしで実行しようとしていて、見つかったファイル内のすべての TestNG 注釈を実行するだけですが、それを行うためのセットアップがありませんか?