2015-07-21 110 views
0

我想知道是否現在有可能使用Selenium實施「下載測試」。檢測文件下載是否已經開始就足夠了。 重要的是說文件不是靜態的,所以它們不能通過特定的URL訪問。它們是動態創建的並且充滿了數據,這取決於用戶提供的輸入。 我也無法使用FirefoxProfile,因爲我的自動化Web測試使用chrome驅動程序和phantomjs。他們也需要在Hudson下運行(這裏當然只使用phantomjs)。 應用程序在JBoss服務器下運行,所以我使用Arquillian庫。硒測試文件下載

謝謝

+2

這對於PhantomJS來說是不可能的。你應該看看你如何用xvfb運行chrome。 –

回答

1

是的,這是可能只適用於Firefox 這樣特殊的功能已經被配置

firefox_profile = FirefoxProfile() 
firefox_profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv, image/png, application/octet-stream, text/plain") # File mine types 
firefox_profile.set_preference("browser.download.manager.showWhenStarting", False) 

firefox_profile.set_preference("browser.download.dir", "/tmp") 
firefox_profile.set_preference("browser.download.folderList", 2) 

但對於其他瀏覽器,我通常做一個簡單的一招我獲取文件的鏈接而不是使用fe請求庫和檢查文件頭文件

import requests 
r = requests.head("https://www.google.com.ua//images/srpr/logo11w.png") 
assert r.status_code == 200 
assert r.headers['content-type'] == 'image/png' 
+0

正如我所說,我不能使用FirefoxProfile ... –

+0

看到另一個我的解決方案,我希望這將有助於 – dmr