追求代碼質量: 使用 TestNG-Abbot 實現自動化 GUI 測試[3] 軟件測試
在清單 1 中,我創建了一個 TestNG 測試(實際上并沒有對其做任何測試),該測試在 fixture 中使用 TestNG-Abbot 的 AbbotFixture 對象來存放 Word Finder GUI 的實例。
清單 1. 使用 AbbotFixture 對象定義 WordFindGUITest
public class WordFindGUITest {
private AbbotFixture fixture;
@BeforeMethod
private void initializeGUI() {
fixture = new AbbotFixture();
fixture.showWindow(new WordFind(), new Dimension(269, 184));
}
@AfterMethod
public void tearDownGUI() {
fixture.cleanUp();
}
}
由于 Word Finder GUI 的用戶可見的行為會影響 圖 2 所示的三個組件,需要通過編程對其進行調整,以確保工作能正常進行。比如,驗證 圖 3 演示的良好的場景,需要執行下面三個步驟:
獲得對 JTextField 的引用并向其添加一些文本。
獲得 JButton 的句柄并單擊它。
獲得對 JLabel 組件的引用并檢驗是否顯示了正確的釋義。
檢驗良好的場景
使用 TestNG-Abbot,可以通過這三個方便的 fixture 類型執行上面所屬的三個步驟:TextComponentFixture 用于 JTextField;ButtonFixture 用于 Find Word 按鈕;LabelFixture 用來驗證 JLabel 中特定的文本。
原文轉自:http://www.anti-gravitydesign.com