次のtestng.xmlがあります
<test name="CommonReportingTests" preserve-order="true">
<classes>
<class name="com.blah.ReportRunTests">
<methods>
<include name="login" />
<include name="checkHomeTab" />
<include name="checkReportsTab" />
<include name="checkReportsExist" />
<include name="reportsCleanup" />
</methods>
</class>
<class name="com.blah.RestoreActivityTests">
<methods>
<include name="login" />
<include name="checkHomeTab" />
<include name="checkReportsTab" />
<include name="checkReportsExist" />
<include name="expandReportsTabAndClickRestoreActivity" />
</methods>
</class>
</classes>
私の TestBase クラスにはこれがあります:
@Parameters({ "webconsoleStartupURL" })
@BeforeSuite(description = "Perform class setup tasks")
public void beforeClass(final String webconsoleStartupURL)
throws ClassNotFoundException, InstantiationException,
IllegalAccessException {
sm = new SeleniumMgr(webconsoleStartupURL);
sm.startSelenium();
}
@AfterSuite(description = "Perform class teardown tasks")
public void afterClass() {
sm.stopSelenium();
}
テストを実行すると、xml の 2 番目のテスト、つまり RestoreActivityTests のみが実行されたように見え、スイートを終了します。最初のクラスは実行されず、最初の各テストで NullPointerException が表示されます。
ブラウザーのインスタンスを 1 つだけにして、複数のテストを実行します。testng doc は、上記で使用した xml バージョンが実際には正しいことを示唆しています。ここで何が問題なのですか?