2013-04-19 134 views
1

如何爲與網站交互的應用程序編寫集成測試? 更具體地說,我有一個與Flickr網站交互的應用程序。在OAuth授權過程中,flickr網站顯示的是用戶必須複製並粘貼到我的應用程序中的驗證代碼。現在我該如何自動執行此過程,以便我可以自動測試應用程序。我正在使用Swing來進行GUI。與網絡交互的應用程序集成測試

回答

2

依賴於外部服務的寫入自動化可能會非常棘手。對於這樣的事情,我建議你設置一個模擬服務,或者其他一些使用罐頭響應的方式。

我已經成功做這幾種方式:

  • 寫外部模擬服務,使用類似bottle.py。這樣做的好處是對現有的代碼庫只需要很少的修改,但顯然需要一些工作來確保這個外部進程作爲測試套件的一部分正確管理,尤其是在CI環境中運行測試時。

  • 使用依賴注入,您可以編寫模擬網絡組件,並交換您的模擬組件的真實網絡組件以進行測試。我推薦這種方法,但它需要對代碼庫進行一些修改。

+0

好的,但是測試GUI,特別是用戶必須將驗證字符串複製並粘貼到JTextField中的部分呢?這部分可以自動化嗎? – SacGax

+0

你最初如何駕駛考試?我關於嘲笑這項服務的意思是建議你總是知道要粘貼的正確代碼,然後你可以通過#setText() – CtrlF

+0

以編程方式設置它。在我的測試中,我直接與flickr服務器通話,但就像你建議的那樣,現在我已經對模擬服務進行了測試,所以我完全知道要使用#setText()來粘貼什麼。 – SacGax