每個方法我沒有得到分組TestNG中是如何工作的運行後,我有這樣的代碼:TestNG的@AfterMethod特定組在Eclipse
@AfterMethod(groups = { "refreshPage" })
public void refresh() throws IOException {
driver.navigate().refresh();
}
@Test
public void test1() {
}
@Test(groups = { "refreshPage" })
public void test2() {
}
而且@AfterMethod既是後運行他們,即使只有第二個是該組的一部分。我想這與eclipse爲執行而生成的Template testng.xml配置文件無關。它只是整個測試類或單獨測試方法的準系統設置。所以應該不會影響集團
編輯:
所以,爲了有@AfterMethod只有一些方法後運行,並且運行整個測試類,我不得不兩次運行它,有兩組方法(有/無清爽)。
<test name="Test1">
<groups>
<run>
<include name="refreshPage*"/>
</run>
</groups>
<classes>
<class name="example.Test"/>
</classes>
</test>
<test name="Test2">
<groups>
<run>
<include name="dontRefreshPage*"/>
</run>
</groups>
<classes>
<class name="example.Test"/>
</classes>
</test>
我不知道如何做時,通過Eclipse開始它的工作,導致<test>
在模板被替換。
對不起,我把它粘貼在那裏,現在它是正確的。我只需要在每個屬於該組的方法之後運行「refresh()」方法。但是,如果我在沒有進一步配置的情況下運行它,則refresh()方法在兩者之後運行,儘管它是爲「refreshPage」組聲明的。 test1,refresh,test2,refresh .... – lisak 2011-06-08 12:55:32
因此,如果我通過eclipse Run As運行test1並生成模板配置,則在afterMethod之後進行刷新,這是預期的行爲嗎? – lisak 2011-06-08 13:05:03
我想你是誤解了團體的目的。組並不指定什麼時候運行,他們告訴TestNG哪些方法應該包含在測試運行中。 – 2011-06-08 22:51:39