2016-12-07 64 views
0

我有一個需求,我需要編寫下載文件和測試其內容的功能測試。 所以我可以說有兩個部分。 1)確保點擊鏈接下載文件 2)讀取文件並檢查其內容。它是一個csv文件,所以我可以對內容進行一些操作。如何使用實習生框架測試文件下載?

回答

2

這樣做有幾個問題。一種是如果您在遠程系統上運行瀏覽器,則需要一種方法將文件恢復到運行Intern的系統。第二個問題是,您需要知道下載文件在下載時結束的位置。第三個問題是某些瀏覽器(FF和IE)彈出打開的Selenium無法處理的操作系統級對話框。

第一個問題是:你真的需要在瀏覽器中下載文件嗎?這聽起來像您可能正在測試服務而不是瀏覽器,在這種情況下,您可能只需使用Intern下載文件並在那裏檢查它。

假設你需要通過瀏覽器下載文件時,你應該能夠配置瀏覽器無法打開一個確認對話框,將文件下載到一個已知位置,其中至少處理中提到的3個問題2以上。請注意,我沒有真正測試過這個。你可以設置一個test profile and use it when running tests。你可能會需要配置以下屬性:

  • browser.download.dir: '路徑來下載文件夾'
  • browser.download.folderList:2
  • browser.helperApps.neverAsk.saveToDisk: '文本/ CSV'
  • browser.download.manager.showWhenStarting:假

對於Chrome,您將通過environment descriptor傳遞選項。具體的選擇應該是:

  • 'profile.default_content_settings.popups': 0
  • 'download.default_directory': 'path to download folder'

一旦你安裝了瀏覽器,你的測試代碼就需要點擊鏈接,然後等待一定的時間不確定量( Selenium不提供任何類型的下載進度數據),然後從Intern測試本身抓取文件(使用網絡請求或本地文件操作)來檢查它。

+0

是的我同意我們應該測試內容的服務。但是我們也需要端到端測試來確保UI的下載工作,因爲這是非常關鍵的功能。接受這個作爲現在的答案,直到我有機會測試這個。 – Mahesh