我必須爲Java「繪圖」應用程序GUI(如ArgoUML/LaTeXDraw/etc)自動生成測試。我需要驗證測試的應用程序的行爲是否正確。在我給出的例子中,我需要檢查Undo/Redo按鈕是否正常工作=撤銷將畫布置於前置狀態,並且重做將其重置爲原來的狀態。測試使用Java Swing編碼的應用程序GUI:最佳方法?
我已經我將如何處理這個問題,但我想有經驗的人的意見的想法:
- 我應該使用機器人類的輸入模擬到GUI?或者 有沒有更簡單的方法?
我需要捕捉程序供以後分析的狀態,看 如果程序的狀態是一致的,我應該只是截圖 窗口或者是有沒有辦法通過所有Jframe的 組件和捕獲迭代他們的屬性(它應該包括畫布 狀態)?
更重要的是,我不知道如何找到在 接口上的每個按鈕。告訴機器人一個給定的 按鈕位於窗口中某個(x,y)位置的最簡單方法是什麼?我應該在按鈕的.jpeg版本中搜索 像素嗎?我是否應該手動定位界面上的每個 按鈕(即爲包含x,y屬性的每個按鈕 創建一個類)?
- 最後,我從來沒有「附加」一個機器人到一個給定的程序。可以 我只是加載我想測試的軟件的.jar文件,並告訴 機器人在該窗口上運行?或者我需要使用原始項目中的所有 源文件?
謝謝你的時間,如果我的問題的任何部分似乎不夠清楚,請告訴我,我會盡力解釋它更清楚。
PS:關於我需要做的工作有什麼建議,歡迎:)
*「我必須自動生成JAVA測試」*這些測試有什麼好處?是否真的測試*測試代碼的行爲*還是測試測試生成器是否正常工作?我不會依賴這樣的測試。 –
我剛剛編輯OP – LostReality
您可以嘗試使用ReTest(https://www.retest.de/en/),它帶有一種有趣的新方法,用於功能性迴歸測試和基於ai的猴子測試。 – roesslerj