2016-05-26 30 views
1

有人可以幫助我如何檢查文件是否得到了從瀏覽器中使用selenium2library下載,RobotFramework.In我目前的測試我可以點擊下載按鈕,文件下載得到,但下載如果文件沒有下載,會發生什麼情況,只要單擊按鈕即可。任何示例代碼都很有用。如何檢查文件是否得到了從瀏覽器中使用selenium2library

+1

Selenium2Library僅處理瀏覽器內發生的事情。您應該使用OperatingSystem庫來檢查該文件是否存在於磁盤上。也許用「文件應該存在」關鍵字 – Pekka

+0

謝謝@Pekka,任何可能性給自動下載選項,在瀏覽器中對特定目錄 – Madhu

+0

我可以知道文件應該存在的關鍵字是獨立平臺或不是?我的測試需要在Linux和Windows平臺上執行 – Madhu

回答

1

看看這個鏈接 - http://ardesco.lazerycode.com/testing/webdriver/2012/07/25/how-to-download-files-with-selenium-and-why-you-shouldnt.html

而且,這裏是如何您可以將文件自動下載到一個特定的目錄 -

FirefoxProfile profile = new FirefoxProfile(); 
profile.SetPreference("browser.download.folderList",2); 
profile.SetPreference("browser.download.dir", @"c:\path\to\downloads \folder"); 
FirefoxDriver driver = new FirefoxDriver(profile); 
+0

您的答案不應該鏈接到您的博客。如果您鏈接到相關的特定博客條目,則有例外。如果您想宣傳您的博客,請將其放在您的個人資料頁面上。 –

+0

@BryanOakley可以請你幫我糾正我的代碼$ {}偏好=創建字典browser.download.folderList = 2 browser.download.dir = C:/用戶/ mra001 /下載/ Cambium_Builds 打開的瀏覽器$ {cnMaestro_URL} $ {瀏覽器} desired_capabilities = $ {preferences} – Madhu

0

ü可以使用下面的Python功能來下載文件而不顯示對話框框。

而且U可以設定偏好哪些文件類型的文件保存對話框中不應該得到顯示。

def create_profile(): 
    from selenium import webdriver 
    fp =webdriver.FirefoxProfile() 
    fp.set_preference("browser.download.folderList",2) 
    fp.set_preference("browser.download.manager.showWhenStarting",False) 
    fp.set_preference("browser.download.dir",'C:/Users/mra001/Downloads/Cambium_Builds') 
    fp.set_preference("browser.helperApps.neverAsk.saveToDisk",'text/csv/xls') 
    fp.update_preferences() 
    return fp.path 
+0

什麼是有效的路徑給我。我已經嘗試過c:\\用戶\\ mra001和c:/Users/mra001..在所有情況下,我收到錯誤如下WebDriverException:消息:目標URL create_profile格式不正確。 Stacktrace: at FirefoxDriver.prototype.get(file:/// c:/ users/mra001/appdata/local/temp/tmpgb0b3o/webdriver -py-profilecopy/extensions/ [email protected]/components/driver- component.js:10636) 在DelayedCommand.prototype.executeInternal_ /小時(文件:/// C:/用戶/ mra001/APPDATA /本地/溫度/ tmpgb0b3o/webdriver的-PY-輪廓' – Madhu

+0

我給爲C:\ \ temp。它沒有任何問題,確保路徑存在。 –

5

在Chrome我打開chrome://downloads頁,然後檢索影子DOM這樣下載的文件列表:

const docs = document 
    .querySelector('downloads-manager') 
    .shadowRoot.querySelector('#downloads-list') 
    .getElementsByTagName('downloads-item'); 

該解決方案被限制到Chrome瀏覽器,該數據也包含類似的文件路徑信息和下載日期。

相關問題